k8s工作中常用命令汇总

  1. kubectl常用命令

    • 创建资源对象
      kubectl create -f xxx.yaml(文件)、kubectl create -f <directory>(目录下所有文件)
    • 查看资源对象
      kubectl get nodes
      kubectl get pods -n <namespace> -o wide
    • 描述资源对象
      kubectl describe nodes <node-name>
      kubectl describe pods -n <namespace> kubectl describe <pod-name>
      kubectl describe pods <rc-name>
    • 删除资源对象
      kubectl delete -f <filename>
      kubectl delete pods,services -l name=<label-name>
      kubectl delete pods --all(生产环境慎用)
    • 执行容器的命令
      kubectl exec <pod-name> date(默认使用第一个容器执行Pod的date命令)
      kubectl exec <pod-name> -c <container-name> date(指定Pod中的某个容器执行date命令)
      kubectl exec -it <pod-name> -c <container-name> /bin/bash (相当与docker exec -it <container-name> /bin/bash
    • 查看容器的日志
      kubectl logs <pod-name>
      kubectl logs -f <pod-name> -c <container-name> (相当于tail -f 命令)
  2. kubectl格式化输出

    • 显示Pod的更多信息
      kubectl get pods -n <namespace> -o wide
    • 以yaml格式显示
      kubectl get pods -n <namespace> -o yaml
    • 以自定义列明显示Pod信息
      kubectl get pod <pod-name> -o =custom-columns=NAME:.metadata.name,RSRC:.metadata.resourceVersion
    • 基于文件的自定义列名输出
      kubectl get pods <pod-name> -o=custom-columns-file=template.txt
    • 输出结果排序
      kubectl get pods --sort-by=.metadata.name
  3. kubernetes集群管理指南

    • node的管理
      命令:
      kubectl replace -f xxx.yaml
      kubectl patch
      kubectl cordon <node_name> kubectl uncordon <node_name>(对node节点的隔离和恢复)
      删除节点:
      kubectl drain swarm1 --delete-local-data --force --ignore-daemonsets
      kubectl delete node swarm1
      使用:
      kubectl get nodes
      kubectl cordon <node_name> kubectl uncordon <node_name>
      Label的管理:
      • 给node设置标签
        添加:kubectl label node lustre-manager-1 node-role.kubernetes.io/minion-1=
        删除:kubectl label node lustre-manager-1 node-role.kubernetes.io/minion-1-
        修改: kubectl label node lustre-manager-1 node-role.kubernetes.io/minion-1= --overwrite
      • 给pod设置标签
        把node改成pod即可
    • 其他命令:
      • node节点加入master:kubeadm join 192.168.138.131:6443 --token zlk694.ev3odwj7rbyaggz6 --discovery-token-ca-cert-hash sha256:eefe51ccf1c54149f5ce89423c100b1e0de8f8081c7c2c0e07a7613ef2025146

      • 生成加入master的命令:kubeadm token create --print-join-command

      • 删除node节点:1)kubectl drain swarm1 --delete-local-data --force --ignore-daemonsets 2)kubectl delete node swarm1

上一篇:iOS-CocoaPods原理


下一篇:K8s新建用户制作证书绑定角色