Kubernetes1.14.2实践 - 应用服务部署
部署K8s应用服务
1 搭建docker registry镜像私服(或者使用Harbor搭建)
docker run -d -p 5000:5000 --name registry2 --restart=always --privileged=true -v /var/docker/registry:/var/lib/registry registry2 #--restart 标志会检查容器的退出代码,并据此来决定是否要重启容器,默认是不会重启 #--restart的参数说明 # always:无论容器的退出代码是什么,Docker都会自动重启该容器 # on-failure:只有当容器的退出代码为非0值的时候才会自动重启
2 构建镜像并上传到docker registry
配置Dockerfile构建
FROM java EXPOSE 8809 ADD ./app-svc.jar app-svc.jar CMD java -jar ./app-svc.jar
docker build -t app-server .
上传应用服务镜像
镜像标记为 192.168.33.11:5000/app-svc:v1 docker tag app-svc 192.168.33.11:5000/app-svc:v1 docker push 192.168.33.11:5000/app-svc:v1
3 在master节点创建服务
配置K8s文件app-svc.yaml如下:
apiVersion: v1 kind: ReplicationController metadata: name: app-svc-rc spec: replicas: 2 selector: name: gw template: metadata: labels: name: app-svc spec: containers: - name: app-svc image: 192.168.33.11:5000/app-svc:v2 ports: - containerPort: 8809
配置K8s文件app-svc.yaml如下:
apiVersion: v1 kind: Service metadata: name: app-svc-svc1 spec: ports: - port: 8099 targetPort: 8099 nodePort: 30099 type: NodePort selector: name: app-svc
创建
kubectl create -f app-svc.yaml
检查
kubectl get po
4 访问http://192.168.33.10:30099
5 FYI:
# 1. nodePort 外部流量访问k8s集群中service入口的一种方式(另一种方式是LoadBalancer),是提供给外部流量访问k8s集群中service的入口 # 2. port k8s集群内部服务之间访问service的入口,即clusterIP:port是service暴露在clusterIP上的端口 # 3. targetPort 容器的端口(最终的流量端口),targetPort是pod上的端口,从port和nodePort上来的流量,经过kube-proxy流入到后端pod的targetPort上,最后进入容器
相关推荐
btqszl 2020-10-21
ppppfly 2020-10-24
86417413 2020-11-25
83206733 2020-11-19
86276537 2020-11-19
83266337 2020-11-19
86256434 2020-11-17
zhouboxiao 2020-11-16
rise 2020-11-22
sssdssxss 2020-11-20
windle 2020-11-10
孙雪峰 2020-10-30
85477104 2020-11-17
xfcyhades 2020-11-20
liuxudong00 2020-11-19
cheidou 2020-11-19
gunhunti 2020-09-25
csdnYF 2020-11-15