rs的编排操作
查看资源清单中每个项的内容, 写yaml时候常用的命令
kubectl explain rs
kubectl explain rs.spec
kubectl explain rs.spec.selector
启动rs控制器资源清单
kubectl create -f rs-demo.yaml
kubectl apply -f rs-demo.yaml
查看rs资源
kubectl get replicaset -n default
查看pod资源
kubectl get pods -n default
kubectl get pods -n default -l app=nginx
-n namespace -l labels
删除pod
kubectl delete pod nginx-rs-w4t4n -n default
再次查看pod列表
kubectl get pods -n default -l app=nginx
显示rs的运行态描述,name=nginx-rs的
kubectl describe rs nginx-rs -n default
导出pod资源清单
kubectl get pod nginx-rs-xxx -n default -o yaml
删除rs
kubectl delete rs nginx-rs -n default
kubectl delete -f rs-demo.yaml
Deployment
nginx-deploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deploy
namespace: default
spec:
replicas: 3
selector:
matchLabels:
app: nginx
minReadySeconds: 5
strategy:
type: RollingUpdate # 指定更新策略:RollingUpdate和Recreate
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
根据资源清单创建资源
kubectl create -f nginx-deploy.yaml
查看pod
kubectl get pods -l app=nginx
查看pod详细描述
kubectl describe pod nginx-deploy-85ff79dd56-txc4h
看到该pod是被一个rs控制的
…
Controlled By: ReplicaSet/nginx-deploy-85ff79dd56
再查看rs详细描述
kubectl describe rs nginx-deploy-85ff79dd56
看到rs是被一个deployment控制的
…
Controlled By: Deployment/nginx-deploy
查看deployment
kubectl get deployment -n default
查看滚动更新的状态
kubectl rollout status deployment/nginx-deploy
暂停滚动更新
kubectl rollout pause deployment/nginx-deploy
继续更新
kubectl rollout pause deployment/nginx-deploy -n default
查看更新历史, 显示每次更新所记录的版本
kubectl rollout history deployment nginx-deploy -n default
如果只看到了版本号, 就是因为在更新的时候没有加 --record
kubectl apply -f deploy-rollout.yaml --record
像这样去做更新就会得到不同的历史记录, 但好像其实也没太大用处.
回滚到某个版本
kubectl rollout undo deployment nginx-deploy -n default --to-revision=3
如果不指定版本号, 就会默认回滚到上一个版本
kubectl rollout undo deployment nginx-deploy -n default
还有中间会用到一些查看的命令
kubectl get pods -n default -l app=nginx
kubectl describe deploy nginx-deploy -n default
kubectl get rs -n default
kubectl get rs nginx-deploy-xxx -o yaml