K8s Deployment脚本部署tomcat集群,外部访问Tomcat集群(NodePort方式)

部署是指Kubernetes向Node节点发送指令,创建容器的过程
Kubernetes支持yml格式的部署脚本
kubectl create -f 部署yml文件 #创建部署

Deployment脚本范本

K8s Deployment脚本部署tomcat集群,外部访问Tomcat集群(NodePort方式)

集群信息
apiVersion写死
metadata元数据,用于k8s部署文件的名字。一个有意义的说明,通过name就知道它的作用


详细信息
Pod模板信息
spec详细信息
relicas:2 部署2个
labels:是pod的名称,tomcat-cluster就是pod的名称 (注意!!app是不带s的,否则会产生service绑定不上endPoints问题!!)


容器信息
containers name:创建容器的名称,一般与Pod名称一致,也可以不一致,有意义即可
image:使用的镜像名称,tomcat:latest
containerPort:容器内部对外暴露的端口,tomcat对外8080,如果是mysql则应该配置3306

部署相关常用命令

K8s Deployment脚本部署tomcat集群,外部访问Tomcat集群(NodePort方式)
kubectl logs -f pod (-f是查看实时信息)

kubectl get deployment 查看部署情况
kubectl get service 查看服务情况
kubectl get pod 查看服务情况
kubectl describe deployment/service/pod id 详细信息
kubectl delete deployment/service/pod id 删除

外部访问Tomcat集群(NodePort)

K8s Deployment脚本部署tomcat集群,外部访问Tomcat集群(NodePort方式)

kind,说明为Service服务类型
metadata name:仅为说明作用
labels app:是作为Pod的标识


type:NodePort
selector:指向集群Pod名称,同上方Deployment脚本配置的Pod????
ports:port 集群对外开放的端口
targetPort 容器内部对外开放的端口
nodePort 宿主机节点对外开放的端口


执行命令: kubectl create -f service.yml

获取所有服务列表:kubectl get service
获取详细信息:kubectl describe service 服务名称