1. 程式人生 > 實用技巧 >k8s學習——常用命令操作

k8s學習——常用命令操作

建立資源物件:

  直接通過kubectl命令及相關的選項建立資源物件的方式:

  kubectl run nginx-deploy --image=nginx:1.12 --replicas=2  # 建立名為nginx-deploy的Deployment控制器資源物件

  kubectl expose deployment/nginx --name=nginx-svc --port=80  # 建立名為nginx-svc的Service資源物件

  根據資源清單建立資源物件:

kubectl create -f nginx-deploy.yaml -f nginx-svc.yaml    

  將建立交由kubectl自行確定:

kubectl apply -f nginx-deploy.yaml -f nginx-svc.yaml

檢視資源物件:

kubectl get namespaces    # 系統上所有的Namespaces資源物件
kubectl get pods,services -o wide    # 列出預設名稱空間內的所有pod和service物件
kubectl get pods -l k8s-app -n kube-system     # 列出kube-namespaces名稱空間中擁有k8s-app標籤名稱的所有pod物件

列印資源物件的詳細資訊:

kubectl get pods -l component=kube-apiserver -o yaml -n kube-system    # 檢視kube-system名稱空間中擁有標籤component=kube-apiserver的pod物件的資源配置清單及當前的狀態資訊,並輸出為yaml格式
kubectl describe pods -l component=kube-apiserver -n kube-system    # 檢視kube-system名稱空間中擁有標籤component=kube-apiserver的pod物件的詳細描述資訊

列印容器中的日誌資訊:

  kubectl logs [-f] [-p] (POD|TYPE/NAME) [-c CONTAINER] [options]

kubectl logs kube-apiserver-master.ilinux.io -n kube-system    # 檢視名稱空間kube-system中僅有一個容器的pod物件kube-apiserver-master.ilinux.io的日誌   使用-f相當於使用tail -f持續監控

在容器中執行命令:

kubectl exec kube-apiserver-master.ilinux.io -n kube-system -- ps    # 在kube-system名稱空間中的Pod物件kube-apiserver-master.ilinux.io上的唯一容器中執行ps命令

刪除資源物件:

kubectl delete services nginx-svc    # 刪除預設名稱空間中名為nginx-svc的Service資源物件
kubectl delete pods -l app=monitor -n kube-system    # 刪除kube-system名稱空間中擁有標籤“k8s-app=kube-proxy”的所有pod物件
kubectl delete pods --all -n kube-public    # 刪除kube-public名稱空間中的所有pod物件