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

Deployment脚本范本

在这里插入图片描述

集群信息
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

部署相关常用命令

在这里插入图片描述
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 删除
1、kubectl get pod 复制pod id
2、kubectl exec -it podid /bin/bash 主节点进入Pod中的容器

Service外部访问Tomcat集群(NodePort)

在这里插入图片描述

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


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


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

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

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐