Skip to content

K8s Command Line - kubectl

GETTING STARTED 命令手册

在任意节点上添加kubectl命令功能

  1. 将 master 节点中 /etc/kubernetes/admin.conf 拷贝到需要运行的服务器的 /etc/kubernetes 目录中

    scp /etc/kubernetes/admin.conf root@k8s-node1:/etc/kubernetes
    

  2. 在对应的服务器上配置环境变量

    echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
    

  3. 生效环境变量
    source ~/.bash_profile
    

通过deployment创建一个pod

kubectl create deployment nginx --image=nginx

使用kubectl scale

  1. 查看集群的namespace
    kubectl get namespace
    #或者 kubectl get ns
    
  2. 查看pod
    kubectl get pods
    #或者 kubectl get po
    
  3. 查看deployment
    [root@k8s-master ~]#kubectl get deployment
    #或者 kubectl get deploy
    [root@k8s-master ~]# kubectl get deployment
    NAME    READY   UP-TO-DATE   AVAILABLE   AGE
    nginx   1/1     1            1           5h10m
    
  4. 扩展对象nginx
    [root@k8s-master ~]# kubectl scale deploy --replicas=3 nginux  #注意:deploy=deployment
    deployment.apps/nginx scaled
    [root@k8s-master ~]# kubectl get deployment
    NAME    READY   UP-TO-DATE   AVAILABLE   AGE
    nginx   3/3     3            3           5h15m
    [root@k8s-master ~]# kubectl get po
    NAME                     READY   STATUS    RESTARTS   AGE
    nginx-85b98978db-2h5jw   1/1     Running   0          86s
    nginx-85b98978db-hll4t   1/1     Running   0          5h8m
    nginx-85b98978db-zh9f5   1/1     Running   0          86s
    
    kubectl scale --help
    Set a new size for a deployment, replica set,replication controller,
    or stateful set.
    
  5. 查看扩展的pod被部署在哪些节点

[root@k8s-master ~]# kubectl get po -o wide
NAME                     READY   STATUS    RESTARTS   AGE     IP                NODE        NOMINATED NODE   READINESS GATES
nginx-85b98978db-2h5jw   1/1     Running   0          46m     192.168.169.132   k8s-node2   <none>           <none>
nginx-85b98978db-hll4t   1/1     Running   0          5h54m   192.168.36.66     k8s-node1   <none>           <none>
nginx-85b98978db-zh9f5   1/1     Running   0          46m     192.168.36.67     k8s-node1   <none>           <none>
可以看到46分钟之前 46m,一个部署到node2,一个部署到node1

  1. 查看deployment 信息,并以yaml形式输出 kubectl get deploy #查看当前deployment资源 kubectl get deploy -o yaml #以yaml格式查看当前deployment资源 kubectl get deploy nginx -o yaml #以yaml格式查看当前deployment资源,指定deploy 资源
    
    

减少和删除nginx pod

kubectl scale deploy  --replicas=1 nginx
kubectl delete deploy nginx

删除nginx service

kubectl delete service nginx

--------------------------------草稿线--------------------------------------------------------- 1. I'm an annotation!

Lorem ipsum dolor sit amet, (1) consectetur adipiscing elit.

  1. 🙋‍♂️ I'm an annotation!

dasd asd

😭 🧑‍🎨 😄 🙋‍♂️