k8s优雅操作pod容器组

k8s优雅操作pod容器组

回退备份

sh 复制代码
kubectl get deploy deployName -o yaml>>deployName-bak-`date "+%Y-%m-%d"`.yaml

获取副本数

sh 复制代码
replicas=`echo | kubectl get -o template deploy/deployName --template={{.spec.replicas}}`

停止容器组

sh 复制代码
kubectl scale deployment deployName --replicas=0

修改配置

sh 复制代码
kubectl set env deploy/deployName privateCertPath="/var/www/cert/xxx.key"

替换内容

sh 复制代码
kubectl get deploy deployName -o yaml | sed "s#cert#cert-new#g" | kubectl replace -f -

增加内容

sh 复制代码
cat <<EOF > ./patch-file.yaml
spec:
  template:
    spec:
      containers:
      - name: patch-demo
        image: redis
EOF
kubectl patch deployment deployName --patch "$(cat patch-file.yaml)"

恢复容器组

sh 复制代码
kubectl scale deployment trade-service --replicas=$replicas

验证比较

sh 复制代码
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"

回退

sh 复制代码
kubectl apply -f deployName-bak-`date "+%Y-%m-%d"`.yaml

其他

操作secret数据卷

sh 复制代码
kubectl delete secret secretName
kubectl create secret generic secretName --from-file=./xxx.key --from-file=./xx.cer --from-file=./xxx.cer
相关推荐
阿里云云原生2 小时前
研发域与运维域的“数字握手”:通过 Agentic Skills 实现 DevOps 全链路自动化
云原生
乘云数字DATABUFF3 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
阿里云云原生4 天前
AI 开发新常态:当 Cursor、Claude、Codex 并行,如何统一管理散落的 Skill 资产?
云原生·ai编程
探索云原生4 天前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
Java之美4 天前
从edge-trigger到level-trigger,谈谈 Kubernetes controller 的开发范式
云原生
阿里云云原生5 天前
深度解构:当 Append-only 的 SLS 遇上 Update/Delete,是如何实现设计权衡的?
云原生
荣--5 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森5 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Java之美5 天前
一次k8s升级引发的DevicePlugin注册失败
云原生·kubernetes
秋播5 天前
nerdctl推送rancher本地镜像到harbor
云原生