比如说:web服务、微服务中
shell
kubectl create deployment web --image=nginx # 命令行方式只适合做测试
# 第一步导出yaml文件
kubectl create deployment web --image=nginx --run-dry -o yaml >web.yaml # 导出yaml的配置文件
通过label来进行操作
shell# 查看yaml文件
vim web.yaml
# 第二步:使用yaml文件部署应用
kubectl apply -f web.yaml
kubectl get pods
# 第三步:对外发布(暴露端口号)
kubectl expose deployment web --port=80 --type=NodePort --target-port=80 --name=web1 -o yaml >web1.yaml
# web1.yaml发布
kubectl apply -f web1.yaml
无头service
ClusterIP:none
查看pod ,有三个pod,每个都是唯一的名称
查看创建无头的service
deployment和statefulset区别:有身份的(唯一标识的)
根据主机名+按照一定规则生产域名
每一个pod有唯一主机名
唯一域名:
格式:主机名称.service名称.名称空间.svc.cluster.local 例如:nginx-statefulset-0.nginx.default.svc.cluster.local
shellkubectl apply -f web.yaml kubectl get pods
shellkubectl set image deployment web nginx=nginx:1.15
升级的过程: 1.14会创建一个副本,其中原来的不会停止,1.15在下载中
然后,1.15替换1.14 副本,同时删除1.14
shell# 查看升级状态
kubect rollout status deployment web
3. 回滚版本
# 查看历史版本 kubectl rollout history deployment web
回滚到上一个版本
kubectl rollout undo deployment web
回滚到指定版本
kubectl rollout undo deployment web --to-revision=2
添加更多的服务,添加更多的副本
kubectl scale deployment web --replicas=10
本文作者:Eric
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!