首页 > 其他分享 >K8s 常用操作备忘

K8s 常用操作备忘

时间:2024-01-24 16:22:51浏览次数:31  
标签:kubectl 常用 -- 备忘 secret test pod K8s spec

# 查看pod日志

kubectl logs -f --tail 100 admin-center-server-cbd975547-fjlhs -n prod

# 查看pod重启前的日志

kubectl logs -f -p --tail 100 admin-center-server-cbd975547-fjlhs -n prod

# 进入pod中

kubectl exec -it -nnginx cfhy-prod-front-7d4d58fd4d-pj9lg -- bash 

 

# 复制pod内的文件到本地

kubectl -n prod cp pay-center-server-75f46cf465-5cfkt:/usr/software/service/debug_tools/dump.hprof ./dump.hprof

#操作deployment 更新
kubectl rollout pause deployment gateway-server -n prod
kubectl rollout resume deployment gateway-server -n prod

kubectl rollout pause deployment app-gateway -n prod
kubectl rollout resume deployment app-gateway -n prod

# 列出默认命名空间下的所有Deployment
kubectl get deploy

# 通过定义文件更新Deployment
kubectl apply -f test.yaml

# 监控"test"这个Deployment的状态更新
kubectl rollout status deploy/test

# 暂停"test"这个Deployment的更新流程:
kubectl rollout pause deploy/test

# 恢复"test"这个Deployment的更新流程:
kubectl rollout resume deploy/test

# 查看"test"这个Deployment的更新历史:
kubectl rollout history deploy/test

# 回退test最近的更新
kubectl rollout undo deploy/test

# 把test这个Deployment回滚到指定版本
kubectl rollout undo deploy/test --to-revision=1

# 监控服务启动情况
watch "kubectl get pod -nprod | grep -E 'order-center|contract|mess|supp|user|har|risk|hz|stat|insu|admin-center'"

# 监控服务启动情况并监控svc endpoints 变化
watch -d -n 1 "date;kubectl get pod -n prod | grep admin-center-server; echo '=======> service ======> ' ;kubectl describe svc admin-center-server -n prod|grep Endpoints:"

# 查看pod的docker镜像
kubectl get pod cfhy-test-nginx-787d9785fb-22fj2 -n nginx -o jsonpath='{.spec.containers[*].image}'

# k8s 创建文件secret
kubectl -ndev create secret generic bigdata-model-ml --from-file=./model_xgb.pmml
kubectl-ndev create secret generic pabank-config-secret-20230718 --from-file=./config
kubectl -ndev create secret generic pabank-config-secret-20230718 --from-file=./config
kubectl -ndev create secret generic pabank-config-secret-20230718-1 --from-file=./config.properties
kubectl -ndev create secret generic pabank-config-secret-20230904 --from-file=./2000909332.pfx
kubectl -ndev create secret generic bigdata-model-ml --from-file=./model_xgb.pmml

# 编辑secret

kubectl edit secret  -nprod 2024-01-15-secret

kubectl edit secret  -nprod  project-secret

# kubectl 更换镜像
kubectl set image deployment/nginx busybox=busybox:3.2 nginx=nginx:1.19.1

# 集群中运行着的所有镜像
kubectl get pods -A -o=custom-columns='DATA:spec.containers[*].image'

# 列举 default 名字空间中运行的所有镜像,按 Pod 分组
kubectl get pods --namespace default --output=custom-columns="NAME:.metadata.name,IMAGE:.spec.containers[*].image"

# 除 "registry.k8s.io/coredns:1.6.2" 之外的所有镜像
kubectl get pods -A -o=custom-columns='DATA:spec.containers[?(@.image!="registry.k8s.io/coredns:1.6.2")].image'

# 输出 metadata 下面的所有字段,无论 Pod 名字为何
kubectl get pods -A -o=custom-columns='DATA:metadata.*'

# 标记 my-node 节点为不可调度
kubectl cordon my-node

# 对 my-node 节点进行清空操作,为节点维护做准备
kubectl drain my-node

# 标记 my-node 节点为可以调度
kubectl uncordon my-node

# 显示给定节点的度量值
kubectl top node my-node

# 显示主控节点和服务的地址
kubectl cluster-info

# 将当前集群状态转储到标准输出
kubectl cluster-info dump

# 将当前集群状态输出到 /path/to/cluster-state
kubectl cluster-info dump --output-directory=/path/to/cluster-state

# 查看当前节点上存在的现有污点
kubectl get nodes -o='custom-columns=NodeName:.metadata.name,TaintKey:.spec.taints[*].key,TaintValue:.spec.taints[*].value,TaintEffect:.spec.taints[*].effect'

# 如果已存在具有指定键和效果的污点,则替换其值为指定值
kubectl taint nodes foo dedicated=special-user:NoSchedule

# 部分更新某节点
kubectl patch node k8s-node-1 -p '{"spec":{"unschedulable":true}}'

# 更新容器的镜像;spec.containers[*].name 是必需的。因为它是一个合并性质的主键。
kubectl patch pod valid-pod -p '{"spec":{"containers":[{"name":"kubernetes-serve-hostname","image":"new image"}]}}'

# 使用带位置数组的 JSON patch 更新容器的镜像
kubectl patch pod valid-pod --type='json' -p='[{"op": "replace", "path": "/spec/containers/0/image", "value":"new image"}]'

# 使用带位置数组的 JSON patch 禁用某 Deployment 的 livenessProbe
kubectl patch deployment valid-deployment --type json -p='[{"op": "remove", "path": "/spec/template/spec/containers/0/livenessProbe"}]'

# 在带位置数组中添加元素
kubectl patch sa default --type='json' -p='[{"op": "add", "path": "/secrets/1", "value": {"name": "whatever" } }]'

# 通过修正 scale 子资源来更新 Deployment 的副本数
kubectl patch deployment nginx-deployment --subresource='scale' --type='merge' -p '{"spec":{"replicas":2}}'

标签:kubectl,常用,--,备忘,secret,test,pod,K8s,spec
From: https://www.cnblogs.com/muyi-yang/p/17984944

相关文章

  • 常用的两种UTF8中文截取函数
    /**截取UTF8编码字符串从首字节开始指定宽度(非长度),适用于字符串长度有限的如新闻标题的等宽度截取中英文混排情况较理想.全中文与全英文截取后对比显示宽度差异最大,且截取宽度远大越明显.@paramstring$str UTF-8encoding@paramint[option]$width截取宽度@paramstring[......
  • 拆分面板组件备忘留存
    最近项目中需要用到左右布局,但可以动态拖动两边布局的宽度,遂研究了下面板拆分组件vue项目可用vue-splitpanehttps://www.npmjs.com/package/vue-splitpanenpminstallvue-splitpaneimportsplitPanefrom'vue-splitpane'Vue.component('split-pane',splitPane);<split-......
  • ROS2常用命令
    ROS2的主要命令入口是 ros2,其中又包含大量的子命令,可用于ROS2程序的开发和测试。下面是其中一些常用的命令及其作用:ros2run:运行ROS2节点或任意可执行文件。ros2run <package_name> <executable_name>ros2run<package_name><executable_name>--ros-args--para......
  • k8s 镜像
    目录k8s镜像镜像名称更新镜像镜像拉取策略默认镜像拉取策略ImagePullBackOff使用私有仓库配置节点向私有仓库进行身份验证config.json说明提前拉取镜像在Pod上指定ImagePullSecrets使用DockerConfig创建Secret使用案例k8s镜像镜像名称容器镜像通常会被赋予pause、ex......
  • k8s系列-minikube操作应用之安装篇
    Minikube是一个轻量级的Kubernetes集群,专为本地开发和测试环境设计。Minikube由Kubernetes社区维护,支持macOS、Linux和Windows等多种操作系统平台。它使用Kubernetes的官方稳定版本,并提供了大部分功能,包括容器编排管理、负载均衡、Ingress以及权限控制等高级特性。......
  • k8s~istio的安装与核心组件
    安装istio在线安装:https://istio.io/latest/docs/setup/getting-started/#download或者直接在这里下载:https://github.com/istio/istio/releases/tag/1.20.2$curl-Lhttps://istio.io/downloadIstio|ISTIO_VERSION=1.20.2TARGET_ARCH=x86_64sh-$cdistio-1.20.2$e......
  • DevEco Studio 常用设置【自用】
    设置为中文API参考设置悬浮始终定位打开的文件,单击预览免打开保存时自动格式化和热更新......
  • 计算机常用二进制
    记忆技巧:千三兆六(1k=10^31M=10^6)毫三微六(1mm=10^-31μm=10^-6)二进制:(前缀:0b/0B)(后缀:b/B)八进制:(前缀:0)(后缀:o/O)十进制:(前缀:无,可加+/-)(后缀d/D)十六进制:(前缀:0x/0X)(后缀:h/H)bit:(b)比特/位byte:(B)字节,等于8bit1KB=1024Bytes1MB=1024KB1GB=1024MB1TB=1024G......
  • K8s集群CoreDNS监控告警最佳实践
    本文分享自华为云社区《K8s集群CoreDNS监控告警最佳实践》,作者:可以交个朋友。一背景coreDNS作为K8s集群中的关键组成部分。主要负责k8s集群中的服务发现,域名解析等功能。如果在使用过程中出现域名解析失败,域名解析超时等情况,需要引起注意。二方案简介可以通过CCE集群插件kub......
  • 集训队论文浅读 - 信息学竞赛中构造题的常用解题方法
    抽屉原理把\(n\)个物品放入\(k\)个抽屉中,其中至少有一个抽屉中有\(\lceil\dfrac{n}{k}\rceil\)个物品,并一定有一个抽屉包含\(\lfloor\dfrac{n}{k}\rfloor\)个物品。构造题中考虑构造不同情况的抽屉,应对构造权值类问题。对于取整符号要敏感。Codeforces1450C2构......