创建 kubeconfig 文件
kubelet、kube-proxy 等 Node 机器上的进程与 Master 机器的 kube-apiserver 进程通信时需要认证和授权,所以需要生成相关的配置信息。在master节点上创建相关kubeconfig文件,然后将文件拷贝到node节点上。
kubernetes 自1.4引入了一个用于从集群级证书颁发机构(CA)请求证书的API。这个api的最初意图是启用为kubelets提供tls客户端证书。
创建 TLS Bootstrapping Token
虽然任何身份验证策略都可以用于kubelet的初始引导凭证,但推荐使用以下两种身份验证器以简化配置。我们这里只采用Token authentication file这种方式(版本稳定)。
Token可以是任意的包含128 bit的字符串,可以使用安全的随机数发生器生成。
[root@wecloud-test-k8s-1 ~]# export BOOTSTRAP_TOKEN=$(head -c 16 /dev/urandom | od -An -t x | tr -d ' ')
[root@wecloud-test-k8s-1 ~]# echo ${BOOTSTRAP_TOKEN}
1b533e12216629e21babb6085d2d4a27
创建token文件:
[root@wecloud-test-k8s-1 ~]# cat > token.csv <<EOF
> ${
BOOTSTRAP_TOKEN},kubelet-bootstrap,10001,"system:kubelet-bootstrap"
> EOF