k8s的配置文件说明

一、Master 节点核心配置文件

文件路径 组件 核心内容 典型配置示例
/etc/kubernetes/manifests/kube-apiserver.yaml API Server 控制 API 服务行为
yaml 复制代码
spec:
  containers:
  - command:
    - --etcd-servers=https://10.0.0.1:2379     # etcd 地址
    - --service-cluster-ip-range=10.96.0.0/12   # Service IP 范围
    - --authorization-mode=Node,RBAC             # 授权模式
    - --client-ca-file=/etc/kubernetes/pki/ca.crt # CA 证书

| /etc/kubernetes/manifests/kube-controller-manager.yaml | Controller Manager | 管理控制器逻辑 |

yaml 复制代码
- command:
  - --cluster-cidr=10.244.0.0/16       # Pod 网络 CIDR
  - --service-account-private-key-file=/etc/kubernetes/pki/sa.key
  - --root-ca-file=/etc/kubernetes/pki/ca.crt

| /etc/kubernetes/manifests/kube-scheduler.yaml | Scheduler | 调度策略配置 |

yaml 复制代码
- command:
  - --kubeconfig=/etc/kubernetes/scheduler.conf
  - --leader-elect=true                # 启用 Leader 选举

二、Worker 节点核心配置文件

文件路径 组件 核心内容 典型配置示例
/var/lib/kubelet/config.yaml Kubelet 节点级配置
yaml 复制代码
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
address: 0.0.0.0                     # 监听地址
port: 10250                          # 服务端口
authentication:                      # 认证配置
  webhook:
    enabled: true
evictionHard:                        # 资源驱逐阈值
  memory.available: "500Mi"
  nodefs.available: "10%"

| /etc/kubernetes/kubelet.conf | Kubelet | 集群认证信息 |

yaml 复制代码
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: <CA证书Base64>
    server: https://master:6443       # API Server 地址

三、集群级动态配置

配置类型 作用 管理方式 示例命令
ConfigMap 存储非敏感配置数据(如环境变量、配置文件) kubectl apply
bash 复制代码
kubectl get configmap -n kube-system coredns -o yaml
# 输出示例:
data:
  Corefile: |
    .:53 {
        errors
        health
        kubernetes cluster.local {
            pods insecure
            fallthrough in-addr.arpa ip6.arpa
        }
    }

| Secret | 存储敏感数据(如密码、TLS证书) | 加密存储 |

bash 复制代码
kubectl create secret generic db-password --from-literal=password=123

四、网络插件配置文件

插件 文件路径 核心配置内容
Calico kubectl get configmap -n kube-system calico-config
yaml 复制代码
data:
  typha_service_name: "none"       # 是否启用 Typha 服务
  veth_mtu: "1440"                 # 网络 MTU
  ipam:
    type: calico-ipam

| Flannel | /etc/kube-flannel/net-conf.json |

json 复制代码
{
  "Network": "10.244.0.0/16",
  "Backend": {"Type": "vxlan"}
}

五、用户级配置文件

文件路径 作用 内容示例
~/.kube/config 集群访问凭证
yaml 复制代码
apiVersion: v1
clusters:
- cluster:
    server: https://master:6443
    certificate-authority-data: <CA证书>
  name: my-cluster
users:
- name: admin
  user:
    client-certificate-data: <用户证书>
    client-key-data: <用户私钥>
contexts:
- context:
    cluster: my-cluster
    user: admin
  name: my-context

六、关键排查命令

1. 查看动态配置是否生效
bash 复制代码
# 检查 ConfigMap 是否被 Pod 挂载
kubectl describe pod -n kube-system coredns-xxxx | grep Mounts
# 输出应包含:ConfigMap "coredns" mounted at /etc/coredns
2. 验证证书有效期
bash 复制代码
openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -dates
# 输出示例:
Not Before: Mar  1 00:00:00 2023 GMT
Not After : Mar  1 00:00:00 2024 GMT
3. 检查组件日志
bash 复制代码
journalctl -u kubelet --since "5 minutes ago" | grep -i error

常见问题定位表

现象 优先检查的配置文件
Pod 无法解析 DNS kube-system/coredns ConfigMap
节点无法加入集群 /etc/kubernetes/kubelet.conf 中的证书和 API Server 地址
API Server 无法启动 /etc/kubernetes/manifests/kube-apiserver.yaml 的 etcd 配置
调度器不分配 Pod kube-scheduler.yaml--kubeconfig 路径

通过此文档,您可以快速定位到关键配置文件,解决类似 ConfigMap 同步失败、证书过期等问题。

相关推荐
遇见火星18 分钟前
基于Docker容器的CICD项目Jenkins/gitlab/harbor/Maven实战
docker·容器·gitlab·jenkins·maven·harbor·cicd
LCY13329 分钟前
k8s 部署spring项目+动态启动pod
spring·容器·kubernetes
佳腾_3 小时前
【高性能缓存Redis_中间件】三、redis 精通:性能优化与生产实践
redis·缓存·云原生·中间件·云计算
qq_413691353 小时前
CI/CD(十) Jenkins共享库与k8s集成
ci/cd·kubernetes·jenkins
爱的叹息3 小时前
云原生(Cloud Native)的详解、开发流程及同类软件对比
云原生
SteveRocket4 小时前
开源项目 | 17款云原生安全相关的扫描和平台类开源工具
安全·云原生·开源
Spring_java_gg4 小时前
组件和容器之争?|WebAssembly + Kubernetes:云原生的新组合
云原生·容器·kubernetes·wasm
code@fzk5 小时前
Docker详细使用
linux·运维·docker·容器·shell
菜就多练吧6 小时前
zk(Zookeeper)实现分布式锁
分布式·zookeeper·云原生
Lonwayne16 小时前
SaaS、Paas、IaaS、MaaS、BaaS五大云计算服务模式
云原生·云计算·paas·程序那些事