博客
关于我
kubernetes中kubeconfig的用法
阅读量:434 次
发布时间:2019-03-06

本文共 1141 字,大约阅读时间需要 3 分钟。

在一个启用了TLS的 Kubernetes 集群中,集群访问不可或缺的就是身份认证,而使用kubeconfig(即证书)和token两种方式是最简单也是最通用的认证方式。

kubeconfig 配置简述

以kubectl为例来讲解kubeconfig的配置。kubectl本质上是一个用Go编写的可执行程序,只要给kubectl配置了合适的kubeconfig,就可以在集群中的任意节点上使用。默认情况下,kubectl会从$HOME/.kube目录下查找文件名为config的文件,也可以通过设置环境变量KUBECONFIG或者通过命令去指定其他kubeconfig文件。

集群参数配置

通过以下命令可以设置所需访问的集群信息:

kubectl config set-cluster kubernetes \  --certificate-authority=/etc/kubernetes/ssl/ca.pem \  --embed-certs=true \  --server=https://172.20.0.113:6443

用户参数配置

设置客户端认证参数:

kubectl config set-credentials admin \  --client-certificate=/etc/kubernetes/ssl/admin.pem \  --embed-certs=true \  --client-key=/etc/kubernetes/ssl/admin-key.pem

上下文参数配置

将集群参数和用户参数关联起来:

kubectl config set-context kubernetes \  --cluster=kubernetes \  --user=admin

最后,设置默认上下文:

kubectl config use-context kubernetes

注意事项

生成的kubeconfig会被保存到~/.kube/config文件中。该文件描述了集群、用户和上下文的信息。集群参数设置了要访问的集群信息,用户参数设置了客户端的认证信息,上下文参数将集群参数和用户参数关联起来。

在实际操作中,用户需要确保其证书已经被集群CA签署。例如,在上述示例中,用户证书的OU字段为system:masters,这通常意味着该用户已经被授权访问集群API(通过RBAC授权)。具体到kube-apiserver,预定义的cluster-admin角色将system:masters组和cluster-admin角色绑定,从而授予了访问kube-apiserver相关API的权限。

参考资料

转载地址:http://sqakz.baihongyu.com/

你可能感兴趣的文章
python初步学习-python数据类型-集合(set)
查看>>
python列表生成字典_Python中将字典转换为列表的方法
查看>>
python列表对应元素合并为列表及判断一个列表是几维
查看>>
python列表去重复后按照顺序_从包含不可共元素的Python列表中删除重复元素,同时保留顺序?...
查看>>
python列表前几个_python之列表
查看>>
python列表元组
查看>>
Python列表/元组/字典和集合使用
查看>>
python列表 行列选择_python_pandas_dataframe_行列选择_切片操作
查看>>
python列表
查看>>
python列出当前目录、子目录和文件的脚本
查看>>
python+flask计算机毕业设计骨科门诊患者档案管理系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校体测管理系统的设计与实现(程序+开题+论文)
查看>>
Python切片对象和__getitem__
查看>>
python+flask计算机毕业设计高校体育竞赛成绩管理系统的设计与实现(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校体育赛事系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校体育运动会比赛系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校危化品管理系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校团委事务管理系统(程序+开题+论文)
查看>>
Python切片(%s)
查看>>
python+flask计算机毕业设计高校学生选课系统(程序+开题+论文)
查看>>