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/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo 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配置文件相关推荐
- k8s与监控--解读prometheus监控kubernetes的配置文件
前言 Prometheus 是一个开源和社区驱动的监控&报警&时序数据库的项目.来源于谷歌BorgMon项目.现在最常见的Kubernetes容器管理系统中,通常会搭配Promethe ...
- kind:Kubernetes in Docker,单机运行 Kubernetes 群集的最佳方案?
作者:gc(at)sysin.org,主页:www.sysin.org 请访问原文发布链接:https://sysin.org/article/kind/,查看最新版. 是否没有足够的机器运行 Kub ...
- 使用命令行结合jq提取出Kubernetes配置文件里的secret信息
我们知道home目录下的.kube目录里存放了Kubernetes的配置文件config, 里面有certificate-authority-data: 如何通过shell将这个字段的值提取出来?我们 ...
- Kubernetes ---- Dashboard安装、访问(Token、Kubeconfig)
Dashbord 官方地址: https://github.com/kubernetes/dashboard 安装Dashboard: $ kubectl apply -f https://raw.g ...
- 二进制搭建kubernetes多master集群【三、配置k8s master及高可用】
前面两篇文章已经配置好了etcd和flannel的网络,现在开始配置k8s master集群. etcd集群配置参考:二进制搭建kubernetes多master集群[一.使用TLS证书搭建etcd集 ...
- kubernetes认证,对接第三方认证系统,对接github认证
kubernetes对接第三方认证 广告: 安装包地址 原文地址 概述 本文介绍如何使用github账户去关联自己kubernetes账户.达到如下效果: 使用github用户email作为kuber ...
- kubernetes的安装
获取源码 最新安装包下载地址,GitHub下载地址 本次实验的1.10.0的二进制包下载,百度网盘 机器环境 Kubernetes Roles IP地址 Hostname Master 192.168 ...
- 二进制安装部署 4 kubernetes集群---超详细教程
二进制安装部署kubernetes集群---超详细教程 前言:本篇博客是博主踩过无数坑,反复查阅资料,一步步搭建完成后整理的个人心得,分享给大家~~~ 本文所需的安装包,都上传在我的网盘中,需要的可以 ...
- Kubernetes安装之五:配置kubectl客户端
1.创建kubectl 证书 cat > /etc/ssl/kubectl/admin-csr.json <<EOF {"CN": "admin&quo ...
最新文章
- 美团是怎么玩儿AI的?今晚8点揭秘美团超大规模知识图谱--美团大脑
- GitHub上最励志的计算机自学教程
- java外观设计修改_Java设计模式之外观模式和装饰器模式的设计(精选)
- 最精准的view,canvas,surface之间的关系
- faster rcnn可视化(修改demo.py保存网络中间结果)
- CentOS7 安装 MySQL 和简单优化
- mysql 分词搜索_打造一个蓝奏云网盘搜索引擎
- 使用Keras做猫狗分类
- STM32 使用片外外扩内存调试
- Veeam 全面助力等保2.0/ 云数据管理解决方案/ 医疗行业最佳实践
- poj Cow Exhibition 01背包的灵活运用
- 毕业设计答辩PPT模板
- 骑士CMS01 74cms v4.2.111 后台getshell漏洞复现
- 计算机管理单元受到策略限制怎么解决,组策略编辑器管理单元无法打开
- [c++] 什么是平凡类型,标准布局类型,POD类型,聚合体
- 1. C语言的第一个程序
- 买传奇域名空间要注意什么?
- 笔记本电脑屏幕颜色变浅
- 国产步进电机驱动芯片TMI8420,可pin to pin​替代DRV8825
- CultureInfo代码和区域列表