Skip to content

K3s 常用命令

更新镜像、进 Pod、看日志的常用速查。完整步骤见附件:更新 K3s 服务镜像

查命名空间 / Deployment / 容器 / 镜像

bash
# 所有命名空间
kubectl get ns

# 所有 Deployment
kubectl get deployments --all-namespaces

# 指定命名空间的 Deployment
kubectl get deployments -n {命名空间}

# Deployment 的容器名
kubectl get deployment {deployment名} -n {命名空间} \
  -o jsonpath='{.spec.template.spec.containers[*].name}'

# Deployment 的当前镜像
kubectl get deployment {deployment名} -n {命名空间} \
  -o jsonpath='{.spec.template.spec.containers[*].image}'

# 一次性总览:命名空间 / Deployment / 容器名 / 镜像
kubectl get deployments --all-namespaces \
  -o=custom-columns=\
NAMESPACE:.metadata.namespace,\
DEPLOYMENT:.metadata.name,\
CONTAINER:.spec.template.spec.containers[*].name,\
IMAGE:.spec.template.spec.containers[*].image

更新镜像与验证

bash
# 更新镜像
kubectl set image deployment/{deployment名} {容器名}={新镜像} -n {命名空间}

# 等待滚动更新
kubectl rollout status deployment/{deployment名} -n {命名空间}

# 查看 Pod
kubectl get pods -n {命名空间} -o wide

# 回滚
kubectl rollout undo deployment/{deployment名} -n {命名空间}

进 Pod / 看日志

bash
# 进入 Pod(交互 shell)
k3s kubectl exec -n {NAMESPACE} --stdin --tty {POD_NAME} -- /bin/bash

# 跟随最近 100 行日志
k3s kubectl logs -n {NAMESPACE} --tail=100 {POD_NAME} -f