使用deployment部署应用(yaml)
kubectl create deployment web --image=nginx --dry-run -o yaml > web.yaml
vim web.yaml
根据web.yaml创建deployment
kubectl apply -f web.yaml
查看应用
kubectl get pods
对外发布(暴露对外端口号)
kubectl expose deployment web --port=80 --type=NodePort --target-port=80 --name=web2 -o yaml > web2.yaml
发布
kubectl apply -f web2.yaml
查看
kubectl get svc
外部访问
应用回滚弹性伸缩
vim web.yaml
创建pod
kubectl apply -f web.yaml
查看node
kubectl get pods
升级node
kubectl set image deployment web nginx=nginx:1.15
查看是否升级成功
kubectl rollout status deployment web
查看升级的历史
kubectl rollout history deployment web
回滚到上一个版本
kubectl rollout undo deployment web
回滚到指定版本
kubectl rollout undo deployment web --to-revision=1
弹性伸缩
kubectl scale deployment web --replicas=3
有状态、无状态
创建有状态controller
上传sts.yaml文件
vim sts.yaml
创建
kubectl apply -f sts.yaml
deployment 和 statefulset区别:
statefulset 是有身份的(唯一标识的)
- 根据主机名 + 按照一定规则生成域名
格式
主机名.service名称.名称空间.svc.cluster.local
nginx-statefulset-0.nginx.default.svc.cluster.local
创建守护进程
vim ds.yaml
kubectl apply -f ds.yaml
#进入pod
kubectl exec -it ds-test-ktw8t -- bash
创建Job
vim job.yaml
查看执行日志
kubectl logs pi-fq8ft
创建cronjob
vim cronjob.yaml
.
查看日志
kubectl logs hello-1705460820-f5z6m