应用程序生命周期管理

在这里插入图片描述
dockerfile Deployment Service
StatefulSet Ingress
DaemonSet

服务编排: YAML文件格式说明

K8S是一个容器编排引擎,使用YAML文件编排要部署的应用。
不支持制表符 “tab”   缩进,使用空格缩进
通常开头缩进2个空格
字符后缩1个空格,入冒号,逗号等
“---”表示YAML格式,一个文件的开始
“#” 注释

在这里插入图片描述
在这里插入图片描述

直接创建pod

kubectl create deployment web123 --image=lizhenliang/java-demo -n default

产生yaml

kubectl create deployment web123 --image=lizhenliang/java-demo --dry-run -o yaml > app.yaml

用get生成yaml

kubectl get deployment nginx -0 yaml > my-deploy.yaml

直接创建svc

kubectl expose deployment web123 --port=80 --target-port=8080 --type=NodePort -n default

Deployment:是最常用的K8s工作负载控制器,是k8s的一个抽象概念,用于更高层次对象部署和管理pod.其他控制器还要Daemonset,statefulset等。

Deployment主要功能:
1.管理Pod和Replicaset 
2.具有上线部署,副本设定,滚动升级,回滚等功能
3提供声明式更新

应用场景:网站,API,微服务

Deployment: 应用生命周期管理流程
在这里插入图片描述

1.部署

kubectl create deployment web --image=nginx:1.15
创建service
kubectl expose deployment web --port=80 --target-port=80 --type=NodePort

2.升级

第一种办法
在这里插入图片描述
第二种办法
kubectl set image deployment web web=nginx:1.17 --record
–record 为记录标签,方便回滚的时候查找版本

kubectl rollout history deployment web

在这里插入图片描述

第三种办法
kubectl edit deployment/web #在线编辑
在这里插入图片描述
改完后保存后退出,立即生效

3扩容

第一种办法修改yaml
replicas: 5
第二种办法命令行扩容
kubectl scale deployment web --replicas=10
缩容
kubectl scale deployment web --replicas=2

4回滚

查询历史版本
kubectl rollout history deployment web
回滚到上一个版本
kubectl rollout undo deployment web
回滚到指定版本
kubectl rollout undo deployment/web --to-revision=2

5下线

kubectl delete deploy web

Logo

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

更多推荐