Kubernetes kubeconfig配置文件
2021/7/21 23:10:15
本文主要是介绍Kubernetes kubeconfig配置文件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
因为部署的jenkins和k8s不在同一台服务器,且不能ssh过去,运维朋友告诉我,可以把配置文件移动过去,在安装kubectl就能执行了,下面就简单描述一下原因。
在node节点上可以执行kubectl命令吗?
localhost:8080 这个端口是k8s api(kube-apiserver非安全端口)的端口,在master上面可以执行成功其实走的是配置文件。但是在node上连接的是本地的非安全端口。
其实还有一个对外端口是6443,这个是kube-apiserver监听的,masterip:6443安全端口
[root@k8s-master ~]# netstat -tpln | grep 6443 tcp6 0 0 :::6443 :::* LISTEN 9261/kube-apiserver [root@k8s-master ~]#
什么叫安全端口,什么叫非安全端口
kube-apiserver两个端口:
- localhost:8080 非安全端口(不需要认证,没有加入认证机制),是kubectl默认先连接8080,如果你配置kubeconfig(.kube/config)就直接走这个配置连接的安全端口(在master上没有8080端口,走的是kubeconfig)
- masterip:6443 安全端口 ,提供了内部授权的机制,比如登入网站想要输入用户名密码才能登入。
kubeadm安装的默认禁用了8080端口,二进制安装默认是启用的,他们两个区别在于有没有加入身份认证,即鉴权。这个文件在这个目录下面,在root家目录下面。这个配之文件是在安装最后一步拷贝过来.
最后,拷贝连接k8s集群的认证文件到默认路径下
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
可以看到读取到的是该配置文件
*关闭8080端口就是希望你使用配置文件去连接安全端口,*这样是安全的,非安全端口是绝对不能对外提供服务的,如果对外提供服务别人扫描到你api做一些恶意的操作,整个集群可能就挂了,即使有这个端口也是监听在本地,也就是只能这台机器去连接。
让Node使用kubectl命令
现在知道了kubectl怎么连接集群和管理集群,它是通过kubeconfig这个文件连接过去的。这个文件到底是怎么样生成的呢?
[root@k8s-master .kube]# scp /root/.kube/config root@192.168.1.151:/root root@192.168.1.151's password: config 100% 5453 3.7MB/s 00:00 [root@k8s-master .kube]#
kubeconfig生成与文件结构
kubeconfig这个文件是通过kubectl config指令生成的
在上面部分是配置集群的,即要连接的k8s集群主节点IP是多少,并且里面包含了相关证书。
Context指定上下文,和指定当前使用哪个上下文。
在配置文件当中可能会存在多个集群,现在只有一个集群是我刚刚搭建的。你再搭建一个集群是可以将两个配置文件进行合并,两个配置文件合并在一个配置文件里面。合并在一起就可以使用这一个配置文件去切换着连接两个不通的集群,切换的操作实际上就是指定上下文的操作。(上下文引用了集群信息,和客户端信息)
两个文件合并为一个文件,这个得修改要不冲突
name: kubernetes 修改为 name: kubernetes1 users: - name: kubernetes-admin 修改为 kubernetes-admin1
name: kubernetes-admin1@kubernetes1 这样就切换到另外一个集群了,最后是客户端的认证,即客户端以什么身份连接过来的,上下文就是资源的关联。
参考:Kubernetes kubeconfig配置文件详细解读_小楼一夜听春雨,深巷明朝卖杏花-CSDN博客_kubeconfig
这篇关于Kubernetes kubeconfig配置文件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-05基于Kubernetes的自定义AWS云平台搭建指南
- 2024-11-05基于Kubernetes Gateway API的现代流量管理方案
- 2024-11-05在Kubernetes上部署你的第一个应用:Nginx服务器
- 2024-11-05利用拓扑感知路由控制Kubernetes中的流量
- 2024-11-05Kubernetes中的层次命名空间:更灵活的资源管理方案
- 2024-11-055分钟上手 Kubernetes:精简实用的 Kubectl 命令速查宝典!
- 2024-10-30K8s 容器的定向调度与亲和性
- 2024-10-28云原生周刊:K8s未来三大发展方向 丨2024.10.28
- 2024-10-25亚马逊弹性Kubernetes服务(EKS)实战:轻松搭建Kubernetes平台
- 2024-10-22KubeSphere 最佳实战:Kubernetes 部署集群模式 Nacos 实战指南