这段代码是用于创建 kube-apiserver 的配置文件,具体含义如下:
- KUBE_APISERVER_OPTS:kube-apiserver 的启动参数。
- –logtostderr=false:是否将日志输出到标准错误流,设置为 false 表示不输出到标准错误流。
- –v=2:日志的详细程度,数字越大表示日志越详细。
- –log-dir=/opt/kubernetes/logs:kube-apiserver 日志存储路径。
- –etcd-servers:ETCD 集群地址列表,包括 k8s-master、k8s-node1 和 k8s-node2 三个节点的 IP 地址和端口号。
- –bind-address:kube-apiserver 绑定的 IP 地址,默认为本地回环地址。
- –secure-port=6443:kube-apiserver 对外提供服务的 HTTPS 端口号。
- –advertise-address:集群成员之间通信时使用的 IP 地址。该参数指定 kube-api-server 所在主机的 IP 地址或域名,以便其他节点访问它。一般情况下,该值与 bind-address 相同。
- –allow-priviliged=true:是否允许容器获取特权模式。默认为 false,即不允许容器获取特权模式。
- –service-cluster-ip-range=10.0.0.0/24:定义集群内 Service 的虚拟 IP 范围(CIDR)。
- –enable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,ResourceQuota,NodeRestriction:启用的 Admission Controller 插件列表。
- –authorization-mode=RBAC,Node:kube-apiserver 授权模式,包括 Role-Based Access Control 和 Node。RBAC 规定了 Kubernetes 中如何定义、查找、评估和授予访问权限。Node 模式则规定了节点身份验证与授权机制。
- –enable-bootstrap-token-auth=true:是否启用引导令牌认证方式。
- –token-auth-file=/opt/kubernetes/cfg/token.csv:存放令牌的文件路径。
- –service-node-port-range=30000-32767:定义 Service 的 NodePort 范围,即 Service 对外暴露端口号的范围(默认为 30000~32767)。
- –kubelet-client-certificate=/opt/kubernetes/ssl/server.pem:kubelet 客户端证书文件路径。
- –kubelet-client-key=/opt/kubernetes/ssl/server-key.pem:kubelet 客户端私钥文件路径。
- –tls-cert-file=/opt/kubernetes/ssl/server.pem:TLS 证书文件路径。
- –tls-private-key-file=/opt/kubernetes/ssl/server-key.pem:TLS 私钥文件路径。
- –client-ca-file=/opt/kubernetes/ssl/ca.pem:客户端证书 CA 文件路径。
- –service-account-key-file=/opt/kubernetes/ssl/ca-key.pem:Service Account Key 文件路径。
- –etcd-cafile=/opt/etcd/ssl/ca.pem:ETCD CA 文件路径。
- –etcd-certfile=/opt/etcd/ssl/server.pem:ETCD Server TLS 证书文件路径。
- –etcd-keyfile=/opt/etcd/ssl/server-key.pem:ETCD Server TLS 私钥文件路径。
- –audit-log-maxage=30:审计日志保留时间(天)。
- –audit-log-maxbackup=3:审计日志最大备份数。
- –audit-log-maxsize=100:单个审计日志文件的最大大小(MB)。
- –audit-log-path=/opt/kubernetes/logs/k8s-audit.log:审计日志存储路径。