1. 程式人生 > 其它 >kubernetes集群系列資料05--K8S叢集命令介紹

kubernetes集群系列資料05--K8S叢集命令介紹

一、基礎命令

kubectl api-versions    #檢視K8S叢集所有apiversion的版本資訊;其格式為group/apiversion,預設組為core;
kubectl explain pod     #檢視資源類別pod的欄位;
kubectl explain ingress.version #檢視資源類別ingress的version下的所有欄位;

kubectl run --help      #檢視命令幫助
kubectl run nginx --image=hub.atguigu.com/library/nginx:latest --port=80 --replicas=3   #啟動nginx的pod;拉取harbor倉庫的nginx映象,並暴露埠80(由於是扁平化網路,可直接訪問,故可省略該引數),指定副本為3;一般情況使用資源清單建立資源,本次使用單條命令建立資源。

kubectl get pod                     #檢視POD的狀態;
kubectl get pod -o wide             #檢視所有POD的詳細資訊;由此檢視pod排程到哪個node工作。
kubectl get pod -o yaml             #以yaml格式檢視POD;
kubectl get pod -o json             #以json格式檢視POD;

kubectl describe pod                #檢視所有POD的詳細資訊;
kubectl run nginx-deployment --image=hub.atguigu.com/library/nginx:latest --port=80 --replicas=5
kubectl get deployment              #檢視POD的狀態,通過deployment元件。
kubectl describe deployment nginx   #檢視POD更詳細的資訊,過deployment元件。
kubectl get replicaset              #檢視POD的副本數;kubectl get rs為縮寫; nginx-67899864d6中後面的數值為隨機的hash值。
kubectl describe replicaset nginx-67899864d6 #檢視POD的副本詳細資訊;
curl 10.244.1.2 80                  #測試執行容器是否能提供服務。
kubectl get pod;kubectl delete pod nginx-67899864d6-4c4mg;kubectl get pod   #測試刪除一個pod後是否能重新自動拉起POD;
kubectl scale --replicas=5 deployment/nginx;kubectl get pod         #對deployment控制器管理下的nginx POD進行擴容,副本為5;

kubectl expose --help   #檢視命令幫助
kubectl expose deployment nginx-deployment --port=8000 --target-port=80 #暴露nginx-deployment容器的內部埠8000至叢集埠3000;
kubectl expose deployment nginx --port=8000 --target-port=80            #內部埠必須為容器開放的埠,否則無法訪問。
kubectl get svc         #檢視服務的資訊,如IP及服務暴露埠;
curl http://10.244.2.4:8000  #測試服務訪問;
yum -y install ipvsadm
ipvsadm -Ln              #檢視容器內外網埠暴露情況;

kubectl delete pod nginx-67899864d6-9shpg           #刪除default名稱空間下指定的pod,但是deployment會重啟另外一個pod;
kubectl delete deployment nginx   #刪除default名稱空間下指定的deployment;
kubectl delete deployment --all #刪除default名稱空間下所有deployment,否則無法刪除pod;
kubectl delete pod --all        #刪除default名稱空間下所有pod;