在Linux系统上搭建kubernetes(K8S)集群并非易事,但这份指南将为您提供一个简易的入门步骤。请注意,具体命令和配置可能因Linux发行版和K8S版本而异。
准备阶段
- 操作系统选择: 建议使用centos 7或更高版本。
- 硬件需求: 至少三台服务器,每台服务器至少配备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
- 配置国内镜像加速(可选): 使用国内镜像加速Docker下载速度。
vim /etc/docker/daemon.json # 添加以下内容 { "registry-mirrors": ["https://mirrors.aliyuncs.com"] } systemctl daemon-reload systemctl restart docker
Kubernetes组件安装
- 添加Kubernetes YUM源:
cat << EOF > /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
主节点初始化
在主节点上执行以下命令:
kubeadm init --apiserver-advertise-address <master_ip> --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
(
初始化完成后,系统会生成一个加入命令,务必保存此命令,后续在工作节点上使用。
加入工作节点
在每个工作节点上执行主节点生成的加入命令,例如:
sudo kubeadm join <master_ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
(
部署网络插件
这里以Calico为例:
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
集群状态验证
在主节点上执行以下命令验证集群状态:
kubectl get nodes
所有节点显示为”Ready”则表示集群搭建成功。
本指南提供了一个基本的Kubernetes安装和配置流程,实际部署中可能需要根据具体情况进行更多调整。建议参考官方文档获取更详尽的指导。