1. 前言
我们在前面两篇文章完成了Master服务和Node服务的部署,但是还是存在一点问题,看下图
我们可以在Master服务正常使用kubectl命令行工具,命令行工具默认会访问本机,故在Master服务器上是正常的,但是对于Node服务他们不知道api-sevrer的地址,去请求本机,就会无法正常kubectl
本次我们就先解决这个小问题。
2. 解决Node服务无法使用kubectl
2.1. 拷贝admin.conf配置文件
将 master 节点中 /etc/kubernetes/admin.conf 拷贝到需要运行的服务器的 /etc/kubernetes 目录中
scp /etc/kubernetes/admin.conf root@k8s-node1:/etc/kubernetes scp /etc/kubernetes/admin.conf root@k8s-node2:/etc/kubernetes
首次我们可能需要输入Node服务器的访问密码才能执行成功上述命令
2.2 配置环境变量
配置配置文件的环境变量
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
让配置生效
source ~/.bash_profile
2.3. 测试kubectl
接着我们就可以测试下kubectl是否能够正常使用了,可以看到Node服务器上的kubectl也能够正常使用了/
3. API概述
3.1. K8S API概述
REST API 是 Kubernetes 系统的重要部分,组件之间的所有操作和通信均由 API Server 处理的 REST AP I调用,大多数情况下, API 定义和实现都符合标准的 HTTP REST 格式,可以通过 kubectl 命令管理工具或其他命令行工具来执行。
3.2. API分类
(1)Alpha
- 包含 alpha 名称的版本(例如v1alpha1)。
- 该软件可能包含错误。启用一个功能可能会导致 bug。默认情况下,功能可能会被禁用。
- 随时可能会丢弃对该功能的支持,恕不另行通知。
- API 可能在以后的软件版本中以不兼容的方式更改,恕不另行通知。
- 该软件建议仅在短期测试集群中使用,因为错误的风险增加和缺乏长期支持。
(2)Beta
- 包含 beta 名称的版本(例如 v2beta3)。
- 该软件经过很好的测试。启用功能被认为是安全的。默认情况下功能是开启的。
- 细节可能会改变,但功能在后续版本不会被删除
- 对象的模式或语义在随后的 beta 版本或 Stable 版本中可能以不兼容的方式发生变化。如果这种情况发生时,官方会提供迁移操作指南。这可能需要删除、编辑和重新创建API对象。
- 该版本在后续可能会更改一些不兼容地方,所以建议用于非关键业务,如果你有多个可以独立升级的集群,你也可以放宽此限制。
(3)Stable
- 该版本名称命名方式:vX 这里 X 是一个整数。
- Stable 版本的功能特性,将出现在后续发布的软件版本中。
4. 总结
本次我们为Node服务完善了配置,使其kubectl命令行工具能够正常访问到Master服务上的api-server,到本节,集群搭建篇就结束了,博主后续还会持续更新K8S各种命令和功能的使用,欢迎交流学习