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 同步失败、证书过期等问题。

相关推荐
慌糖8 小时前
微服务介绍
微服务·云原生·架构
高山莫衣13 小时前
Docker Desktop导致存储空间不足时的解决方案
docker·容器·eureka
鹏大师运维13 小时前
在银河麒麟V10 SP1上手动安装与配置高版本Docker的完整指南
linux·运维·docker·容器·麒麟·统信uos·中科方德
Ahlson13 小时前
【fnNAS】docker的nginx配置html
nginx·docker·容器·fnnas
LuckyLay13 小时前
Compose 常用命令详解——AI教你学Docker
docker·容器·eureka
阿里云云原生13 小时前
阿里云可观测 2025 年 6 月产品动态
云原生
阿里云云原生14 小时前
30 秒锁定黑客攻击:SLS SQL 如何从海量乱序日志中“揪”出攻击源
云原生
moppol14 小时前
容器化 vs 虚拟机:什么时候该用 Docker?什么时候必须用 VM?
运维·docker·容器
没有名字的小羊14 小时前
7.可视化的docker界面——portainer
docker·容器·eureka
斯普信专业组16 小时前
K8s环境下基于Nginx WebDAV与TLS/SSL的文件上传下载部署指南
nginx·kubernetes·ssl