k8s 常用的操作
-
查找資源 kubectl get: 獲取所有的資源,包括node、namespace、pod 、service、deployment等,可以展示一個或者多個資源。
-
創建資源 kubectl create :Kubernetes 的清單文件可以用 json 或 yaml 定義。
-
更新資源 kubectl apply :將配置更改應用于Kubernetes資源對象,適合進行部分更新。
-
刪除資源 kubectl delete:刪除對應的資源。
nodes 節點:
- 查看nodes節點:
kubectl get nodes
namespace( 命名空間):
- 查看所有namespace(命名空間 ):
kubectl get ns
Deployment:
- 列出所有命名空間中Deployment資源 :
kubectl get deployments --all-namespaces
- 列出指定命名空間的 Deployment資源 :
kubectl get deployments --namespace 命名空間名稱
- 列出指定 deployment:
比如 deployment 名稱為:my-deploy,如下:
kubectl get deployment my-deploy
- 用deployment創建一個pod:
首先編輯 deployment-demo.yml ,
apiVersion: apps/v1 # deployment對應的api版本
kind: Deployment # 創建的資源是deployment
metadata:name: web-v1 # deployment的名字
spec:replicas: 2 # deployment管理的pod副本數selector: # 標簽選擇器matchLabels: # 篩選定義的標簽需要跟template.metadata.labels定義的標簽一致font: webversion: v1template:metadata:labels: # Pod具有的標簽font: webversion: v1spec: #定義容器的屬性containers: - name: mywebimage: janakiramm/myapp:v1 # 容器使用的鏡像imagePullPolicy: IfNotPresent # 鏡像拉取策略ports:- containerPort: 80 # 容器里的應用的端口
接著 執行 kubectl apply 命令, kubectl apply 既可以創建資源,也可以動態更新資源:
kubectl apply -f deployment-demo.yml
- 用于查看與特定 Deployment 關聯的 Pod 詳情:
kubectl describe deployment deployment名稱
這個命令會顯示 Deployment 的詳細狀態,包括它創建的 Pod 的信息。
Pod 相關的命令:
- 列出所有 命名空間(namespace) 中的所有 pod:
kubectl get pods --all-namespaces
- 列出所有 pod 并顯示詳細信息:
kubectl get pods -o wide
- 查看某個命名空間(namespace) 中的所有 pod:
比如 查看 namespace 為 kube-system 中的所有 pod,如下:
kubectl get pod -n kube-system
- 創建一個 pod :
kubectl create -f ./my-pod.yaml
my-pod.yaml 這個文件的格式,簡單示例如下:
apiVersion: v1
kind: Pod
metadata: name: pod-redislabels:name: redis
spec: containers:- name: pod-redisimage: docker.io/redis ports:- containerPort: 80 #容器對外的端口
- k8s 進入 pod:
通過 shell 命令,進行容器。進入容器后,就可以進行ls 、cd … 之類的 linux 命令了。
kubectl exec -ti pod名稱 -n 命名空間 -- /bin/sh
- 輸出 pod 的日志:
kubectl logs pod名稱
- 輸出 pod 中容器的日志(pod 中有多個容器):
kubectl logs pod名稱 -c 容器名稱
其他:
- 通過yaml文件查詢資源:
kubectl get -f xxx.yaml
- 查詢資源:
kubectl get resourcequota
- 查詢endpoints:
kubectl get endpoints
參考資料:
https://www.cnblogs.com/chaojiyingxiong/p/17150507.html
https://blog.csdn.net/qq_42264264/article/details/130828134