k8s简单记录 链接到标题

一般对于pod 的管理其实就下面几个命令

kubuctl get pods # -o yaml 或 -o wide
kubuctl describe pod pod-name
kubuctl logs pod -c 具体进程
kubuctl exec -it pod -c 《具体进程》-- /bin/sh
kubuctl cp 《pod》:/path ./local
kubuctl delete pod <pod>

对于post-start钩子,其实一般应用不多,主要是向外发通知说自己启动了。 这个钩子进程如果失败会导致整个容器重启

namespace和label 链接到标题

namespace和label相关的,其实多是管理相关的。 namespace就是让使用者尽量不误操作的,tag就是打个标签,让使用者好查看和管理的 这俩个字段在配置文件中都是写在metadata里的

metadata:
  name: aa
  label:
    app: kiada
    rel: stable
kubuctl get namespaces # 查看
kubuctl get pods --namespace kube-system # 看kubesystem 的pod
kubectl get pods --all-namespaces
kubectl create namespace kiada-test1 # 创建
kubectl apply -f  # 从配置中创建
# apiVersion: v1
# kind: Namespace
# metadata:
#   name: kiada-test2
kubectl config set-context --current --namespace kiada-test1 # 切换命名空间
kubectl delete ns kiada-test2 # 删除

label 相关,主要是方便管理资源的

kubectl apply -f kiada-suite/ -R # 用目录下所有配置创建pod(子目录里的也算)
kubectl get pods --show-labels # 看label
kubuctl describe pod podname # 看label
kubectl get pods -L app,rel # 指定看那几个label
kubectl label pod pod-name app=kiada rel=canary # 打标签
kubectl label pod quote-canary app=quote --overwrite # 改标签
kubectl label pod --all suite=kiada-suite # 全上标签
kubectl label pod kiada-canary suite-
kubectl label pod --all suite-
kubectl get pods -l app=quote # 指定app标签为quote的查看
kubectl get pods -l app=quote,rel=canary
kubectl get pods -l 'app in (quiz, quote)' -L app
kubectl get pods -l '!rel' # 看没有标签的