在Linux系统中安装和配置Kubernetes(K8S)集群是一个相对复杂的过程,但以下步骤提供了一个基本的指南。请注意,具体的命令和配置可能会因Linux发行版和Kubernetes版本的不同而有所差异。
准备工作
- 选择操作系统:推荐使用CentOS 7或更高版本。
- 硬件要求:至少3台服务器,每台服务器至少2GB内存,2核CPU,30GB硬盘空间。
- 网络要求:所有服务器之间网络互通,且可以访问外网。
- 关闭交换分区:临时关闭swap分区,永久关闭需要在
/etc/fstab
中注释掉swap分区。
安装Docker
- 安装Docker:
yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install -y docker-ce docker-ce-cli containerd.io systemctl enable docker systemctl start docker
- 配置国内镜像加速(可选):
vim /etc/docker/daemon.json # 添加以下内容 { "registry-mirrors": ["https://mirrors.aliyuncs.com"] } systemctl daemon-reload systemctl restart docker
安装Kubernetes组件
- 添加Kubernetes YUM源:
cat </etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF
- 安装kubeadm、kubelet和kubectl:
yum install -y kubelet kubeadm kubectl systemctl enable kubelet systemctl start kubelet
初始化Master节点
在Master节点上执行以下命令:
kubeadm init --apiserver-advertise-address--image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.23.0 --service-cidr 10.96.0.0/12 --pod-network-cidr 10.244.0.0/16
初始化完成后,Master节点会生成一个加入命令,需要保存下来并在Worker节点上使用。
加入Worker节点
在每个Worker节点上执行Master节点生成的加入命令,例如:
sudo kubeadm join:6443 --token --discovery-token-ca-cert-hash sha256:
部署网络插件
以Calico为例,部署网络插件:
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
验证集群状态
在Master节点上执行以下命令验证集群状态:
kubectl get nodes
如果所有节点都显示为"Ready",则表示集群已成功搭建。
以上步骤提供了一个基本的Kubernetes安装和配置流程。在实际部署过程中,可能还需要根据具体需求进行更多的配置和调整。建议参考官方文档以获取更详细的步骤和指导。