k8s基本命令

k8s基本命令

kubectl系列命令

kubectl describe描述资源命令

kubectl describe显示一个或多个资源的详细信息,包括事件以及资源状态

kubectl describe <resourcese> <resurouce-name>
kubectl describe po pod-name -n namesapce

kubectl logs打印容器日志命令

kubectl logs查看容器的日志

kubectl logs pod-name -n namespace
--tail 10 # 显示末尾10行
--since 1s # 显示5s前
-f # follow跟踪显示

kubectl exec执行容器命令

kubectl exec执行容器命令

kubectl exec -it pod-name -- sh # sh代表命令

kubectl edit编辑资源命令

kubectl edit编辑资源文件

kubectl edit po pod-name -n namespace # 编辑资源

kubectl get获取资源命令

kubectl get

kubectl get po -A -owide # 获取所有pod
-A # 所有命名空间
kubectl get po pod-name -o yaml # 以yaml格式输出内容

kubectl delete删除资源命令

kubectl delete

kubectl delete <resouce> <resouce-name>
kubectl delete po pod-name -n namespace # 删除资源
-f # 指定文件

kubectl top资源监控命令

kubectl top

kubectl apply应用改变命令

kubectl apply

kubectl apply -f xxx.yaml # 应用文件
kubectl apply -f dir/ # 应用目录下所有文件
kubectl apply -f '*.json' # 应用以后缀为.json的文件
--force # 立即应用
-o json # 指定文件输出格式,会将文件内容输出

kubectl patch修改资源命令

patch命令字面意思上是打补丁,包括三种模式:strategy patch、json merge patch, merge patch

 kubectl patch pod valid-pod --type='json' -p='[{"op": "replace", "path":
"/spec/containers/0/image", "value":"new image"}]'

json patch适用于细粒度的控制,其中的op支持"replace", "add", "remove", "move", "copy", "test"

# move用于移动字段从A到B
{
    "op": "move",
    "from": "/spec/container/0/env/0",
    "patch": "/spec/container/0/env/1"
}
# copy用于复制字段从A到B
{
    "op": "copy",
    "from": "/spec/container/0/env/0",
    "patch": "/spec/container/0/env/1"
}
# remove用于删除字段
{
    "op": "remove",
    "path": "/spec/container/0/env/0"
}
# replace用于更新字段
{
    "op": "replace",
    "path": "/spec/container/0/env/0",
    "value": 1
}
# add用于添加字段
{
    "op": "replace",
    "path": "/spec/container/0/env/0",
    "value": {
        "name": "ENV",
        "value": "sx"
    }
}
# test用于测试值是否符合要求
{
    "op": "test",
    "path": "/spec/container/0/env/0",
    "value": "1"
}

kubeadm系列命令

kubeadm token管理token系列命令

kubeadm token create # 此时会生成1个随机token
kubeadm token create abcdef.0123456789abcdef # 创建特定token
kubeadm token create abcdef.0123456789abcdef --print-join-command # 创建token并打印节点加入命令

kubeadm config管理配置命令

kubeadm config 实际是上一个名为kubeadm-config的configmap,命名空间为kube-system

kubeadm config print init-defualts # 打印集群初始化配置
kubeadm config print join-defualts # 打印加入集群配置

kubeadm join加入集群命令

kubeadm join 192.168.137.131:6443 --token lsl805.benbjwo8lyluw533 --discovery-token-ca-cert-hash sha256:4017c3259ad8edecc71341527569525345b5d329e85b0db249011e499650af37 --node-name work5 # 添加参数--node-name之后,则不需要更改hostname

crictl系列命令

crictl 是一个与 k8s 容器运行时接口(CRI)兼容的命令行接口,用于检查和调试 Kubernetes 节点上的容器。

crictl pods # 列出所有pod
crictl images # 列出所有镜像
crictl pull hello:v1.0 # 拉取镜像
crictl create <pod_id> <container_config> <pod_config> # 创建容器
crictl start <container_id> # 启动容器
crictl logs <container_id> # 查看容器日志
posted @ 2025-05-13 00:18  LemHou  阅读(26)  评论(0)    收藏  举报