1. 环境准备
在开始安装Kubernetes之前,需要准备以下环境:
- 服务器:至少3台服务器,建议采用虚拟机。
- 操作系统:推荐使用CentOS 7或Ubuntu 18.04。
- 硬件要求:最低配置为2核CPU和2GB内存,建议4GB以上内存。
- 网络:确保服务器之间网络互通。
2. 关闭防火墙和SELinux
为了确保Kubernetes的正常运行,需要关闭防火墙和SELinux。
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
关闭SELinux
setenforce 0
sed -i 's/enforcing/disabled/g' /etc/selinux/config
3. 关闭Swap
Kubernetes要求节点上的Swap空间必须关闭,否则可能会出现Pod调度失败的情况。
swapoff -a
sed -i '/swap/d' /etc/fstab
4. 修改主机名和hosts文件
为方便管理,建议修改主机名为master
、node1
、node2
等。
hostnamectl set-hostname master
同时,修改/etc/hosts
文件,添加以下内容:
192.168.1.100 master
192.168.1.101 node1
192.168.1.102 node2
5. 安装Docker
Kubernetes依赖于Docker,因此需要先安装Docker。
# 安装yum-utils包
sudo yum install -y yum-utils
# 添加Docker仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 启动Docker服务
sudo systemctl start docker
# 设置Docker服务开机自启
sudo systemctl enable docker
6. 安装Kubeadm、Kubelet和Kubectl
# 安装kubeadm
sudo yum install -y kubeadm
# 安装kubelet
sudo yum install -y kubelet
# 安装kubectl
sudo yum install -y kubectl
# 设置kubelet开机自启
sudo systemctl enable kubelet
7. 初始化Master节点
在Master节点上执行以下命令初始化集群:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
初始化完成后,记录下以下信息:
- kubeadm join命令:用于将Node节点加入集群。
- admin.conf文件:用于在非Master节点上配置kubectl。
8. 安装Pod网络
Kubernetes需要Pod网络来实现Pod之间的通信。以下以Calico为例进行安装:
# 安装Calico
sudo kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
9. 将Node节点加入集群
在Node节点上执行以下命令,将节点加入集群:
sudo kubeadm join 192.168.1.100:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
其中,<token>
和<hash>
分别替换为初始化Master节点时记录的值。
10. 验证集群状态
在Master节点上执行以下命令,验证集群状态:
sudo kubectl get nodes
如果所有节点都处于Ready
状态,则表示集群安装成功。
总结
本文介绍了在Linux系统下安装和配置Kubernetes的详细步骤。通过本文的指导,您可以轻松搭建一个Kubernetes集群,并开始使用Kubernetes进行容器化应用的管理。