添加/etc/kubernetes/kubelet.kubeconfig的说明

pull/20/head
Jimmy Song 2017-05-19 12:24:39 +08:00
parent 301ff69cf0
commit b3ac15bc64
1 changed files with 2 additions and 1 deletions

View File

@ -48,7 +48,7 @@ EnvironmentFile=-/etc/sysconfig/docker-network
ExecStart=/usr/bin/flanneld-start \
-etcd-endpoints=${ETCD_ENDPOINTS} \
-etcd-prefix=${ETCD_PREFIX} \
FLANNEL_OPTIONS
$FLANNEL_OPTIONS
ExecStartPost=/usr/libexec/flannel/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/docker
Restart=on-failure
@ -285,6 +285,7 @@ KUBELET_ARGS="--cgroup-driver=systemd --cluster-dns=10.254.0.2 --experimental-bo
+ 管理员通过了 CSR 请求后kubelet 自动在 `--cert-dir` 目录创建证书和私钥文件(`kubelet-client.crt` 和 `kubelet-client.key`),然后写入 `--kubeconfig` 文件;
+ 建议在 `--kubeconfig` 配置文件中指定 `kube-apiserver` 地址,如果未指定 `--api-servers` 选项,则必须指定 `--require-kubeconfig` 选项后才从配置文件中读取 kube-apiserver 的地址,否则 kubelet 启动后将找不到 kube-apiserver (日志中提示未找到 API Server`kubectl get nodes` 不会返回对应的 Node 信息;
+ `--cluster-dns` 指定 kubedns 的 Service IP(可以先分配,后续创建 kubedns 服务时指定该 IP)`--cluster-domain` 指定域名后缀,这两个参数同时指定后才会生效;
+ `—kubeconfig=/etc/kubernetes/kubelet.kubeconfig `中指定的`kubelet.kubeconfig`文件在第一次启动kubelet之前并不存在请看下文当通过CSR请求后会自动生成`kubelet.kubeconfig`文件,如果你的节点上已经生成了`~/.kube/config`文件,你可以将该文件拷贝到该路径下,并重命名为`kubelet.kubeconfig`所有node节点可以共用同一个kubelet.kubeconfig文件这样新添加的节点就不需要再创建CSR请求就能自动添加到kubernetes集群中。同样在任意能够访问到kubernetes集群的主机上使用`kubectl —kubeconfig`命令操作集群时,只要使用`~/.kube/config`文件就可以通过权限认证因为这里面已经有认证信息并认为你是admin用户对集群拥有所有权限。
完整 unit 见 [kubelet.service](./systemd/kubelet.service)