Kubernetes探祕—配置文件目錄結構

Kubernetes的配置目錄包括/etc/kubernetes、/home/supermap/.kube和/var/lib/kubelet目錄。html

下面咱們來看一看,這些目錄裏到底有些什麼文件(操做系統使用Ubuntu 18.04LTS desktop)。bootstrap

安裝tree命令:api

sudo apt  install tree

一、kubernetes主配置目錄

顯示/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

二、kubernetes用戶配置目錄

主用戶目錄下的隱藏目錄.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...

三、kubelet服務的配置目錄

每個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.service服務目錄

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

  • 注意,這個變化可能會致使之前的不少手動安裝的腳本工具再也不可用。

更多參考:

相關文章
相關標籤/搜索