K8S入门到精通04-Deployment脚本部署Tomcat集群
Deployment(部署)部署是指Kubernetes向Node节点发送指令,创建容器的过程Kubernetes支持yml格式的部署脚本kubectl create -f 部署yml文件 #创建部署yml部署脚本范本apiVersion: extensions/v1beta1 #kubectl api版本kind: Deployment # 资源类型metadata: # 元数据name: to
·
Deployment(部署)
- 部署是指Kubernetes向Node节点发送指令,创建容器的过程
- Kubernetes支持yml格式的部署脚本
- kubectl create -f 部署yml文件 #创建部署
yml部署脚本范本
apiVersion: extensions/v1beta1 #kubectl api版本
kind: Deployment # 资源类型
metadata: # 元数据
name: tomcat-deploy # 该Deployment的名称
spec:
replicas: 2 # 副本数量
template: # 部署模板
metadata:
labels: # pod的标识
app: tomcat-cluster # 自定义标识
spec:
containers: # 容器组信息
- name: tomcat-cluster # 容器名称
image: tomcat # 容器使用的镜像
ports:
- containerPort: 8080 # 声明容器对外的端口
与部署相关常用命令
# 创建部署
kubectl create -f 部署yml文件
# 更新部署配置,或第一次创建=create
kubectl apply -f 部署yml文件
# 查看已部署pod
kubectl get pod [-o wide]
# 查看Pod详细信息
kubectl describe pod pod名称
# 查看pod输出日志
kubectl logs [-f] pod名称
部署Tomcat集群
kubectl create -f tomcat-deploy.yml
kubectl get pods
kubectl describe pod tomcat-deploy-5fd4fc7ddb-r2nrj
外部访问Tomcat集群
NodePort方式
NodePort:使用Service(一个特殊的pod)在每个节点开辟一个端口与容器内部端口进行映射
创建tomcat-service.yml,内容如下
apiVersion: v1
kind: Service
metadata:
name: tomcat-service
labels:
app: tomcat-service # Service也是一个特殊的pod,需要设置lables
spec:
type: NodePort # Service类型
selector:
app: tomcat-cluster # 指定绑定的pod
ports:
- port: 8000 # Service在k8s集群内部暴露的端口
targetPort: 8080 # 被映射的容器暴露端口
nodePort: 32500 # 集群每个Node节点上对外暴露的端口
创建Service
kubectl create -f tomcat-service.yml
查看Service列表
kubectl get svc
# 或
kubectl get services
查看Service详细信息
kubectl describe service tomcat-servic
在浏览器中输入http://{{任意Node节点IP}}:32500 即可访问tomcat
版权说明
本文章内容为马士兵教育《架构师高级技能kubernetes入门到精通》课程的学习笔记
更多推荐
已为社区贡献6条内容
所有评论(0)