k8s优雅操作pod容器组
k8s优雅操作pod容器组
k8s优雅操作pod容器组
回退备份
1
kubectl get deploy deployName -o yaml>>deployName-bak-`date "+%Y-%m-%d"`.yaml
获取副本数
1
replicas=`echo | kubectl get -o template deploy/deployName --template=`
停止容器组
1
kubectl scale deployment deployName --replicas=0
修改配置
1
kubectl set env deploy/deployName privateCertPath="/var/www/cert/xxx.key"
替换内容
1
kubectl get deploy deployName -o yaml | sed "s#cert#cert-new#g" | kubectl replace -f -
增加内容
1
2
3
4
5
6
7
8
9
cat <<EOF > ./patch-file.yaml
spec:
template:
spec:
containers:
- name: patch-demo
image: redis
EOF
kubectl patch deployment deployName --patch "$(cat patch-file.yaml)"
恢复容器组
1
kubectl scale deployment trade-service --replicas=$replicas
验证比较
1
2
kubectl get deploy deployName -oyaml>>deployName-new-`date "+%Y-%m-%d"`.yaml
kubectl diff --filename="deployName-new-`date "+%Y-%m-%d"`.yaml,deployName-bak-`date "+%Y-%m-%d"`.yaml"
回退
1
kubectl apply -f deployName-bak-`date "+%Y-%m-%d"`.yaml
其他
操作secret数据卷
1
2
kubectl delete secret secretName
kubectl create secret generic secretName --from-file=./xxx.key --from-file=./xx.cer --from-file=./xxx.cer
本文由作者按照 CC BY 4.0 进行授权