Kubernetes的配置目錄包括/etc/kubernetes、/home/supermap/.kube和/var/lib/kubelet目錄。html
下面咱們來看一看,這些目錄裏到底有些什麼文件(操做系統使用Ubuntu 18.04LTS desktop)。bootstrap
安裝tree命令:api
sudo apt install tree
顯示/etc/kubernetes目錄結構:緩存
supermap@podc01:/etc/kubernetes$ tree . . ├── admin.conf ├── controller-manager.conf ├── kubelet.conf ├── manifests │ ├── etcd.yaml │ ├── kube-apiserver.yaml │ ├── kube-controller-manager.yaml │ └── kube-scheduler.yaml ├── pki │ ├── apiserver.crt │ ├── apiserver-etcd-client.crt │ ├── apiserver-etcd-client.key │ ├── apiserver.key │ ├── apiserver-kubelet-client.crt │ ├── apiserver-kubelet-client.key │ ├── ca.crt │ ├── ca.key │ ├── etcd │ │ ├── ca.crt │ │ ├── ca.key │ │ ├── healthcheck-client.crt │ │ ├── healthcheck-client.key │ │ ├── peer.crt │ │ ├── peer.key │ │ ├── server.crt │ │ └── server.key │ ├── front-proxy-ca.crt │ ├── front-proxy-ca.key │ ├── front-proxy-client.crt │ ├── front-proxy-client.key │ ├── sa.key │ └── sa.pub ├── scheduler.conf └── tmp [error opening dir] 4 directories, 30 files
主用戶目錄下的隱藏目錄.kube包含用戶的配置參數和緩存數據。目錄結構爲:ide
/home/supermap/.kube ├── cache │ └── discovery │ ├── 10.1.1.181_6443 │ └── 10.1.1.201_6443 ├── config └── http-cache ├── 028d83935e12ce471cbe29f4096ef4ed
其中,配置文件config的內容爲:工具
apiVersion: v1 clusters: - cluster: certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0t... server: https://10.1.1.201:6443 name: kubernetes contexts: - context: cluster: kubernetes user: kubernetes-admin name: kubernetes-admin@kubernetes current-context: kubernetes-admin@kubernetes kind: Config preferences: {} users: - name: kubernetes-admin user: client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1... client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUl...
每個ks節點都須要運行kubelet服務。kubelet服務的配置在/var/lib/kubelet目錄下:this
supermap@podc01:/var/lib/kubelet$ tree . ├── config.yaml ├── cpu_manager_state ├── device-plugins │ ├── DEPRECATION │ ├── kubelet_internal_checkpoint │ └── kubelet.sock ├── kubeadm-flags.env ├── pki │ ├── kubelet-client-2018-11-23-10-08-12.pem │ ├── kubelet-client-2018-11-23-10-08-38.pem │ ├── kubelet-client-current.pem -> /var/lib/kubelet/pki/kubelet-client-2018-11-23-10-08-38.pem │ ├── kubelet.crt │ └── kubelet.key ├── plugin-containers [error opening dir] ├── plugins [error opening dir] ├── plugins_registry [error opening dir] ├── pod-resources [error opening dir] └── pods [error opening dir] 7 directories, 11 files
kubelet使用systemd管理,service定義文件位於: /lib/systemd/system/kubelet.service。spa
最新的dropin文件位於: /etc/systemd/system/kubelet.service.d,內容爲:操作系統
supermap@podc01:/etc/systemd/system/kubelet.service.d$ cat 10-kubeadm.conf # Note: This dropin only works with kubeadm and kubelet v1.11+ [Service] Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf" Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml" # This is a file that "kubeadm init" and "kubeadm join" generates at runtime, populating the KUBELET_KUBEADM_ARGS variable dynamically EnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env # This is a file that the user can use for overrides of the kubelet args as a last resort. Preferably, the user should use # the .NodeRegistration.KubeletExtraArgs object in the configuration files instead. KUBELET_EXTRA_ARGS should be sourced from this file. EnvironmentFile=-/etc/default/kubelet ExecStart= ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS
能夠看到,在新的kubernetes配置結構中,這個kublet服務參數的配置有了很大的變化。啓動參數再也不放在kubelet.service文件裏了,放到了/var/lib/kubelet、/etc/default/kubelet。.net