一、k8s配置文件位置
k8s配置文件位於k8s集群中的master節點上,一般為/etc/kubernetes/目錄下的配置文件。其中主要有以下幾種:
/etc/kubernetes/admin.conf # 後台管理的kubeconfig文件,可以直接使用kubectl命令行工具進行管理 /etc/kubernetes/kubelet.conf # kubelet的kubeconfig文件,用於管理節點上的kubelet進程 /etc/kubernetes/controller-manager.conf # 控制器管理器的kubeconfig文件,用於管理控制器 /etc/kubernetes/scheduler.conf # 調度器的kubeconfig文件,用於管理調度器
二、k8s配置文件掛載
k8s配置文件可以掛載到pod的容器中使用,一般需要在pod的yaml文件中進行掛載:
apiVersion: v1 kind: Pod metadata: name: my-pod spec: containers: - name: my-container image: nginx volumeMounts: - name: config mountPath: /etc/nginx/ volumes: - name: config configMap: name: my-config
上述的yaml文件中,將名為my-config的configMap掛載到了my-pod的my-container容器的/etc/nginx/目錄下。
三、k8s配置文件名稱
k8s配置文件一般使用yaml格式進行編寫,文件名可以自定義,一般使用deployment,service,pod等k8s資源的名稱,例如:
apiVersion: v1 kind: ConfigMap metadata: name: my-config data: username: myusername password: mypassword
四、k8s配置文件目錄
k8s配置文件一般位於k8s集群的master節點上的/etc/kubernetes/目錄下,其中主要包括以下幾個目錄:
/etc/kubernetes/manifests/ # k8s集群內置的容器應用的manifests文件,包括kube-apiserver、kube-controller-manager、kube-scheduler、kube-proxy /etc/kubernetes/pki/ # 存儲k8s集群的所有證書與私鑰 /etc/kubernetes/scheduler/ # scheduler的配置文件目錄 /etc/kubernetes/manifests/etcd.yaml # 存儲etcd集群的配置文件
五、k8s配置文件yaml格式
k8s配置文件一般使用yaml格式進行編寫,以下是一個pod的yaml示例:
apiVersion: v1 kind: Pod metadata: name: my-pod spec: containers: - name: my-container image: nginx
六、k8s配置文件格式
k8s配置文件一般使用yaml格式進行編寫,其中主要包括以下幾個部分:
apiVersion: v1 # API版本,例如v1、apps/v1等 kind: Pod # 配置文件對應的k8s資源種類,例如Pod、Service、Deployment等 metadata: # 元數據,例如name、labels等 name: my-pod labels: app: nginx spec: # 配置文件所描述資源的具體內容 containers: # 軟體容器的配置 - name: my-container image: nginx ports: - containerPort: 80 name: http restartPolicy: Always # 重啟策略
七、k8s配置文件管理
k8s配置文件可以通過kubectl命令進行管理,以下是一些常用的kubectl命令:
kubectl apply -f filename.yaml # 對k8s集群執行yaml文件中定義的資源 kubectl delete -f filename.yaml # 刪除yaml文件中定義的資源 kubectl create secret generic my-secret --from-literal=username=admin --from-literal=password=my-password # 創建名為my-secret的secret對象,並將兩個鍵值對保存至my-secret對象的data中 kubectl edit pod my-pod # 編輯名為my-pod的pod kubectl get pods # 獲取pod列表
八、k8s配置文件生成
k8s配置文件可以通過kubectl命令生成,以下是一些常用的kubectl命令:
kubectl create deployment nginx --image=nginx # 創建名為nginx的deployment資源 kubectl expose deployment nginx --port=80 --type=NodePort # 將nginx deployment資源暴露到節點埠80 kubectl create configmap my-config --from-literal=username=admin --from-literal=password=my-password # 創建名為my-config的configMap對象,並將兩個鍵值對保存至my-config對象的data中
九、k8s配置文件鏡像拉取策略選取
k8s配置文件中可以指定imagePullPolicy欄位來設置鏡像拉取策略,例如:
apiVersion: v1 kind: Pod metadata: name: my-pod spec: containers: - name: my-container image: nginx imagePullPolicy: IfNotPresent
上述yaml文件中的imagePullPolicy設為IfNotPresent表示如果本地有相同鏡像則不拉取,否則拉取。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/309209.html