kubernetes下部署spring boot 项目教程
文章目录1.环境说明2.docker image2.创建deployment.yaml3.创建service.yaml3.k8s dashboard根据Dockerfile构建image实例这篇文章,我们已经掌握了简单的docker镜像制作已经容器的使用。本文将继续以简单为目标,学习使用k8s编排容器,目标就是可以使用k8s部署应用。1.环境说明k8s 1.18.13docker 19.03.13
·
根据 Dockerfile构建image实例这篇文章,我们已经掌握了简单的docker镜像制作已经容器的使用。
本文将继续以简单为目标,学习使用k8s编排容器,目标就是可以使用k8s部署应用。
1.环境说明
- k8s 1.18.13
- docker 19.03.13
- Ubuntu 18.04
- 单节点 minikube
2.docker image
这里我使用本地镜像,查看镜像:
docker images
可以看到
REPOSITORY TAG IMAGE ID CREATED SIZE
demo-app 0.0.1 16002709bd9e 5 hours ago 666MB
2.创建deployment.yaml
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo-app-deployment
spec:
replicas: 2
selector:
matchLabels:
app: demo-app-deployment
template:
metadata:
labels:
app: demo-app-deployment
spec:
containers:
- name: demo-app-instance
image: demo-app:0.0.1
ports:
- containerPort: 10086
此时,我们执行指令
kubectl apply -f deployment.yaml
将得到如下提示:
deployment.apps/demo-app-deployment created
此时可以查看deployment
root@Ubuntu:$ kubectl get deployments
NAME READY UP-TO-DATE AVAILABLE AGE
demo-app-deployment 2/2 2 2 32s
可以看到deployment部署完成。
这个时候就可以看到一件有pod部署成功:
root@Ubuntu:$ kgp
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
demo-app-deployment-7bd5fb97cc-9g7tp 1/1 Running 0 4h31m 172.17.0.5 host-192-168-0-26 <none> <none>
demo-app-deployment-7bd5fb97cc-qwm2t 1/1 Running 0 4h31m 172.17.0.4 host-192-168-0-26 <none> <none>
这个时候我们已经可以访问我们的web应用了,但是需要通过pod的ip来访问。
那想要通过主机IP地址来访问该怎么做呢?这就需要创建service了。
3.创建service.yaml
负载均衡
---
apiVersion: v1
kind: Service
metadata:
name: demo-app-service
labels:
name: demo-app-service
spec:
type: NodePort
ports:
- port: 10086
targetPort: 10086
protocol: TCP
nodePort: 31338 # 端口地址范围30000-32767
selector:
app: demo-app-deployment #注意,这里的名称需要和deployment的名称一致,不要弄混了
这个时候继续执行
kubectl apply -f service.yaml
不出意外的话,将会得到这个:
service/demo-app-service created
查看service
root@Ubuntu:$ kubectl get service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
demo-app-service NodePort 10.108.117.71 <none> 10086:31338/TCP 33s
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 14d
这个时候,就可以通过机器ip进行访问了。注意映射的端口号是31338
注意:这里的Type是NodeIP,还有别的类型如ClusterIP等。
3.k8s dashboard
聪明的小伙伴肯定看到我截图里留的dashboard了,可以进入到dashboard查看相关信息并进行操作。
service
pod
deployment
更多推荐



所有评论(0)