資源管理方式
-
- 各種方式的優劣
- 指令式對象管理
- 指令式對象管理
- 聲明式對象配置
- 指令式對象管理:直接使用指令去操作Kubernetes資源
kubectl run nginx-pod --image=nginx:1.17.1 --port=80
- 指令式對象配置:通過指令配置和配置檔案去操作Kubernetes資源
kubectl create/patch -f nginx-pod.yaml
- 聲明式對象配置:通過apply指令和配置檔案去操作Kubernetes資源(建立和更新)
kubectl apply -f nginx-pod.yaml
各種方式的優劣

指令式對象管理
kubectl指令
kubectl是Kubernetes叢集的指令行工具,通過它能夠對叢集本身進行管理,并能夠在叢集上進行容器化應用的安裝部署。Kubectl指令的文法如下:
- command:指定要對資源執行的操作,例如create\get\delete
- type:指定資源類型,比如deployment\pod\service
- name:指定資源的名稱,名稱大小寫敏感
- flags:指定額外的可選參數
# 檢視所有pod
kubectl get pod
# 檢視某個pod
kubectl get pod pod_name
# 檢視某個pod,以yaml格式展示結果
kubectl get pod pod_name -o yaml
# 檢視某個pod,展示詳細資訊
kubectl get pod pod_name -o wide
指令式對象管理
指令式對象配置就是使用指令配合配置檔案一起來操作Kubernetes資源。還以上述過程為例。
建立一個nginxpod.yaml
apiVersion: v1
kind: Namespace
metadata:
name: dev
---
apiVersion: v1
kind: Pod
metadata:
name: nginxpod
namespace: dev
spec:
containers:
- name: nginx-containers
image: nginx:1.17.1
kubectl create -f ./nginxpod.yaml
檢視下建立的名稱空間是否存在
kubectl get namespace
檢視該名稱空間下的pod
kubectl get pod -n dev
删除
kubectl delete -f ./nginxpod.yaml
聲明式對象配置
聲明式對象配置跟指令式對象配置很相似,但是它隻有一個指令apply
# 首先執行一次kubectl apply -f yaml檔案,發現建立了資源
kubectl apply -f nginxpod.yaml
# 再次執行一次kubectl apply -f yaml檔案,發現資源沒有變動
學習資料 黑馬k8s https://www.bilibili.com/video/BV1Qv41167ck?p=19&share_source=copy_web