本文将带领读者一起, 参照着 Kubernetes 官方文档,对其安装部署进行讲解。Kubernetes更新迭代很快,书上、网上等教程可能并不能适用于新版本,但官方文可以。
Kubernetes 教程之跟着官方文档从零搭建 K8S
前言
本文将带领读者一起, 参照着 Kubernetes 官方文档, 对其安装部署进行讲解. Kubernetes 更新迭代很快, 书上、网上等教程可能并不能适用于新版本, 但官方文档能.
阅读这篇文章你能收获到:
- 如何阅读 Kubernetes 官方安装指南并搭建一个 Kubernetes 环境.
- Kubernetes 安装过程中的注意事项.
- 避过常见的坑.
阅读本文你需要:
- 熟悉 Linux 命令.
- 知道 Kubernetes 是用来干什么的 (不然装它干啥(ಥ_ಥ)).
- 知道 Docker
器材准备
文档链接: Before you begin
序号 | 名称 | 数量 | 备注 |
---|---|---|---|
1 | 服务器 | 2 | 操作系统: Linux(centos7, 其它操作系统也可, 安装过程类似, 可参考官方文档) 机器配置: CPU >= 2, 内存 >= 2G |
从官网找到kubeadm
安装文档入口, 文档很详细. 英文阅读没有障碍的读者推荐直接查看英文文档, 中文文档不全且更新不及时安装时可能存在问题.
前期准备
笔者已经预先安装好了两台虚拟机, centos7(CPUx2, 内存 2.5G). 并在路由器上固定了这两个虚拟机的 IP 地址.
修改 hostname
[root@k8s-master ~]$ vim /etc/hostname # 修改 hostname[root@k8s-master ~]$ vim /etc/hosts # 将本机 IP 指向 hostname[root@k8s-master ~]$ reboot -h # 重启(可以做完全部前期准备后再重启)
修改后, 两台虚拟机的配置如下:
# in k8s-master[root@k8s-master ~]$ cat /etc/hostname k8s-master[root@k8s-master ~]$ cat /etc/hosts | grep k8s10.33.30.92 k8s-master10.33.30.91 k8s-worker# in k8s-worker[root@k8s-worker ~]$ cat /etc/hostname k8s-worker[root@k8s-worker ~]$ cat /etc/hosts | grep k8s10.33.30.92 k8s-master10.33.30.91 k8s-worker
确认 MAC 和 product_uuid 的唯一性
文档链接: Verify the MAC address and product_uuid are unique for every node
[root@k8s-master ~]$ ifconfig -a # 查看 MAC[root@k8s-master ~]$ cat /sys/class/dmi/id/product_uuid # 查看 product_uuid
注: 如果你的 centos7 没有ifconfig
命令, 可以执行yum install net-tools
进行安装.
配置防火墙
文档链接: Check required ports
由于是本地内网测试环境, 笔者图方便, 直接关闭了防火墙. 若安全要求较高, 可以参考官方文档放行必要端口.
[root@k8s-master ~]$ systemctl stop firewalld # 关闭服务[root@k8s-master ~]$ systemctl disable firewalld # 禁用服务
禁用 SELinux
修改/etc/selinux/config
, 设置SELINUX=disabled
. 重启机器.
[root@k8s-master ~]$ sestatus # 查看 SELinux 状态SELinux status: disabled
禁用交换分区
文档链接: