k8s核心目录
目录是 Kubernetes 集群的主要配置目录,包含了一系列 Kubernetes 组件和插件的配置文件和密钥文件。admin.conf:kubeconfig 文件,用于与 Kubernetes 集群进行交互。默认情况下,该文件包含管理员用户的凭证和集群信息。:kubeconfig 文件,用于控制器管理器组件连接到 Kubernetes API 服务器,以便执行控制器任务。:kubeconfig
/etc/kubernetes
目录是 Kubernetes 集群的主要配置目录,包含了一系列 Kubernetes 组件和插件的配置文件和密钥文件。下面是一些常见的配置文件及其作用:
-
admin.conf
:kubeconfig 文件,用于与 Kubernetes 集群进行交互。默认情况下,该文件包含管理员用户的凭证和集群信息。 -
controller-manager.conf
:kubeconfig 文件,用于控制器管理器组件连接到 Kubernetes API 服务器,以便执行控制器任务。 -
kubelet.conf
:kubeconfig 文件,用于 kubelet 组件连接到 Kubernetes API 服务器,以获取 Pod 清单并启动容器。 -
scheduler.conf
:kubeconfig 文件,用于调度器组件连接到 Kubernetes API 服务器,以便根据资源需求和策略选择节点来运行 Pod。 -
encryption-config.yaml
:加密配置文件,用于定义 Kubernetes 集群中的加密配置,例如加密存储卷和 Secret 对象等。 -
kubelet/
:目录包含了 kubelet 组件的配置文件和密钥文件,例如kubelet.conf
和kubelet.key.pem
等。 -
manifests/
:目录包含了 Kubernetes 集群的核心组件和插件的 manifest 文件,例如 kube-apiserver、kube-controller-manager、kube-scheduler 等。 -
pki/
:目录包含了 Kubernetes 集群的证书、密钥和 CA 文件,用于加密和安全通信。
/etc/kubernetes/kubelet
/etc/kubernetes/kubelet
目录包含了 kubelet 组件的配置文件和密钥文件,用于配置 kubelet 的行为和与 Kubernetes API 服务器通信。下面是一些常见的文件及其作用:
-
kubelet.conf
:kubeconfig 文件,用于 kubelet 组件连接到 Kubernetes API 服务器,以获取 Pod 清单并启动容器。 -
10-kubeadm.conf
:kubelet 配置文件,由 kubeadm 工具生成,用于配置 kubelet 参数和 kubelet systemd 服务的属性等。例如:
ini复制代码
# 通过 --cgroup-driver=systemd 启用 systemd cgroup 驱动程序
Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd"
# 指定 kubeconfig 文件路径
Environment="KUBELET_KUBECONFIG_ARGS=--kubeconfig=/etc/kubernetes/kubelet.conf"
# 指定节点名称
Environment="KUBELET_HOSTNAME_ARGS=--hostname-override={{ node_name }}"
`
-
bootstrap-kubeconfig
: kubeconfig 文件,用于 kubelet 节点自我注册到 Kubernetes API 服务器,并获得加入集群所需的证书和密钥。 -
kubelet.key.pem
和kubelet.crt.pem
:kubelet 的 TLS 证书和私钥文件,用于加密和安全通信。这些证书由 Kubernetes CA 签名,通常位于/etc/kubernetes/pki
目录中。
需要注意的是,在部署 Kubernetes 集群时,kubelet 配置文件可以根据实际情况进行修改和定制化,例如配置 kubelet 节点标签、污点、容器运行时等。同时也需要对 kubelet TLS 证书和私钥进行适当的保密处理,以避免泄漏给未授权的第三方。
/etc/kubernetes/manifests
-
kube-apiserver.yaml
:kube-apiserver 组件的 manifest 文件,用于描述 kube-apiserver 的容器镜像、命令行参数、端口等信息。该文件还可以定义额外的 Kubernetes API 对象,例如 Service 和 Endpoints 等。 -
kube-controller-manager.yaml
:kube-controller-manager 组件的 manifest 文件,用于描述 kube-controller-manager 的容器镜像、命令行参数、服务配置等信息。该文件还可以定义通过 kube-controller-manager 执行的控制器任务,例如 Deployment 和 ReplicaSet 等。 -
kube-scheduler.yaml
:kube-scheduler 组件的 manifest 文件,用于描述 kube-scheduler 的容器镜像、命令行参数、服务配置等信息。该文件还可以定义通过 kube-scheduler 执行的调度算法和策略,例如 PodAffinity 和 PodAntiAffinity 等。 -
etcd.yaml
:etcd 数据库的 manifest 文件,用于描述 etcd 的容器镜像、命令行参数、存储卷配置等信息。该文件还可以定义 etcd 集群的拓扑结构和备份策略等。 -
coredns.yaml
:CoreDNS 插件的 manifest 文件,用于描述 CoreDNS 的容器镜像、命令行参数、服务配置等信息。该文件还可以定义 CoreDNS 的 DNS 配置和插件列表等
/etc/kubernetes/pki
-
ca.crt
和ca.key
:Kubernetes 集群的根证书和密钥文件,由 Kubernetes CA 签名。这些文件用于签署其他 Kubernetes 组件和用户的证书。 -
apiserver.crt
和apiserver.key
:kube-apiserver 组件的 TLS 证书和私钥文件,用于加密和安全通信。这些证书由 Kubernetes CA 签名。 -
front-proxy-ca.crt
和front-proxy-ca.key
:前置代理的根证书和密钥文件,用于加密和安全通信。这些证书由 Kubernetes CA 签名。 -
sa.pub
和sa.key
:ServiceAccount 的公钥和私钥文件,用于验证 ServiceAccount 身份并生成访问令牌
更多推荐
所有评论(0)