美文网首页
kubectl基本命令

kubectl基本命令

作者: 互联网中的一个咸鱼 | 来源:发表于2019-12-09 19:34 被阅读0次

    设置命令自动补全

    # 首先下载这个命令,补全命令才能生效
    yum install -y bash-completion
    # 1、当前shell生效
    yum install -y bash-completion
    
    #2、总是会生效
    # vi  .bashrc    (/etc/profile)
    source <(kubectl completion bash)
    
    source ~/.bashrc
    

    对节点的操作

    获取集群节点信息

    kubectl get nodes  # 获取集群节点信息
    
    # 输出不同的格式
    kubectl get nodes -o wide
    kubectl get nodes -o json
    kubectl get nodes -o yaml
    
    kubectl get nodes node2 -o wide # 查看某个节点的信息
    

    增加节点

    # 在主节点上master执行命令
    # kubeadm token create --print-join-command
    # node节点上执行上述命令输出的内容
    kubeadm join apiserver.demo:6443 --token l9y210.bzx98ovq27i7an20     --discovery-token-ca-cert-hash sha256:274bcf2916f6c94b594098043aa697aef5137941b4e8f972f9183547d88323b3
    

    移除节点

    # 只在 worker 节点执行
    kubeadm reset
    # 只在 master 节点执行
    kubectl delete node demo-worker-x-x
    

    对节点标签进行操作

    获取标签信息

    kubectl get nodes --show-labels
    kubectl get nodes node2 --show-labels # 查看某个节点的标签信息
    

    添加标签

    # 标签以key=value的形式存在
    
    # 设置node2节点的label是  disktype: node2
    kubectl label  nodes  node2 disktype:node2
    #会输出 node2 labeled
    
    kubectl get nodes node2 --show-labels
    # 输出节点对应的内容  查看输出label内容   
    

    删除标签

    kubectk label nodes node2 disktype-
    # 删除标签,只需要对应标签的key加减号(-)
    

    设置角色

    # 刚加入集群  node的角色定义是none,我们可以查看master的标签,查看角色对应的label
    kubectl get nodes master --show-labels
    #会看到 node-role.kubernetes.io/master= 这样的一个标签
    # 修改对应的角色即可
    
    #将node1,node2的角色定义为worker
    kubectl label nodes node1 node-role.kubernetes.io/worker=
    kubectl label nodes node2 node-role.kubernetes.io/worker=
    

    对pod的操作

    创建pod

    kubectl  create -f xxx.yml
    

    删除pod

    kubectl delete -f xxx.yml
    

    获取pod信息

    kubectl get pods  # 获取当前名称空间的pod
    kubectl get pods --namespace demo  # 获取指定名称空间的pod
    

    进入指定pod的指定的容器内

    #kubectl exec -it pod_name -c container_name sh
    kubectl exec -it nginx -c nginx sh
    

    namespace

    获取命名空间

    kubectl get namespace
    

    创建命名空间

    # kubectl create namespace namespace_name
    kubectl create namespace demo
    

    删除命名空间

    # kubectl delete namespace namespace_name
    kubectl delete namespace demo
    

    创建一个指定命令空间的pod的yaml文件

    apiVersion: v1
    kind: Pod
    metadata:
      name: nginx
      namespace: demo  # 指定名称空间
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80
    
    kubectl create namespace demo # 创建对应的名称空间
    kubectl create -f nginx_namespace.yml
    kubectl get pods # 在当前名称空间查看pod,查找不到刚才创建的pod
    kubectl get pods --namespace demo # 查看指定名称空间的pod
    

    相关文章

      网友评论

          本文标题:kubectl基本命令

          本文链接:https://www.haomeiwen.com/subject/amvbgctx.html