kube-apiserver 是 Kubernetes 控制平面中的核心组件,用于公开 Kubernetes API,以便其他组件和管理员可以与 Kubernetes 集群进行交互。
--advertise-address
此参数用于指定 kube-apiserver 在哪个 IP 地址上公开服务。默认情况下,kube-apiserver 将在监听地址上公开服务。
示例:--advertise-address=192.168.1.1
--allow-privileged
此参数用于启用或禁用特权容器。启用特权容器将允许容器运行特权操作,例如加载内核模块、访问主机网络等。
示例:--allow-privileged=true
--authorization-mode
此参数用于指定 kube-apiserver 的授权模式。Kubernetes 支持多种授权模式,例如 RBAC、Node 和 Webhook 授权。
示例:--authorization-mode=RBAC
--basic-auth-file
此参数用于指定一个文件,该文件包含用于基本身份验证的用户名和密码。如果未指定此参数,则 kube-apiserver 将使用其它身份验证方式进行身份验证。
示例:--basic-auth-file=/etc/kubernetes/basic-auth.csv
--client-ca-file
此参数用于指定客户端证书的 CA 文件。kube-apiserver 将使用此 CA 文件验证客户端证书的有效性。
示例:--client-ca-file=/etc/kubernetes/pki/ca.crt
--etcd-cafile
此参数用于指定 etcd 的 CA 证书文件。kube-apiserver 将使用此 CA 证书文件验证与 etcd 的通信。
示例:--etcd-cafile=/etc/kubernetes/pki/etcd/ca.crt
--etcd-servers
此参数用于指定 etcd 的地址列表。kube-apiserver 将使用此地址列表连接到 etcd。
示例:--etcd-servers=https://192.168.1.1:2379,https://192.168.1.2:2379
--insecure-bind-address
此参数用于指定 kube-apiserver 监听的 IP 地址。如果不指定此参数,则 kube-apiserver 将默认监听所有可用 IP 地址。
示例:--insecure-bind-address=127.0.0.1
--insecure-port
此参数用于指定 kube-apiserver 监听的端口。如果不指定此参数,则 kube-apiserver 将默认监听 6443 端口。
示例:--insecure-port=8080
--kubelet-certificate-authority
此参数用于指定 kubelet 服务器的 CA 证书文件。kube-apiserver 将使用此 CA 证书文件验证与 kubelet 的通信。
--kubelet-client-certificate
此参数用于指定 kube-apiserver 与 kubelet 进行通信时使用的客户端证书文件。
示例:--kubelet-client-certificate=/etc/kubernetes/pki/apiserver.crt
--kubelet-client-key
此参数用于指定 kube-apiserver 与 kubelet 进行通信时使用的客户端私钥文件。
示例:--kubelet-client-key=/etc/kubernetes/pki/apiserver.key
--kubelet-https
此参数用于启用或禁用与 kubelet 的 HTTPS 通信。如果设置为 true,则 kube-apiserver 将使用 HTTPS 与 kubelet 进行通信。否则,kube-apiserver 将使用 HTTP 与 kubelet 进行通信。
示例:--kubelet-https=true
--service-account-issuer
此参数用于指定 Kubernetes 服务帐户的发行者。服务帐户发行者是一个 URL,用于标识服务帐户的颁发机构。
示例:--service-account-issuer=https://kubernetes.default.svc.cluster.local
--service-account-key-file
此参数用于指定 Kubernetes 服务帐户的密钥文件。服务帐户密钥用于签名和验证服务帐户令牌。
示例:--service-account-key-file=/etc/kubernetes/pki/sa.key
总结: 以上是 kube-apiserver 的一些常用启动参数及其意义,这些参数可以帮助您对 Kubernetes 控制平面进行更精细的配置和管理。当然,这里只是列举了一些常用的参数,还有很多其他的参数和配置选项,如果您想了解更多细节,请参考 Kubernetes 官方文档。