在CentOS上部署Kubernetes(k8s)集群时,资源分配是一个关键步骤。以下是一个基本的资源分配指南,帮助你在CentOS上成功部署k8s集群。
首先,确保你的服务器满足Kubernetes的硬件要求。对于每个节点,建议至少2GB RAM、2个CPU核心和30GB磁盘空间。
在每个节点上配置静态IP地址,并确保它们在同一个网段内。例如,master节点的IP地址可以是192.168.1.106,node1和node2可以是192.168.1.107和192.168.1.108。
在所有节点上安装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 docker-ce docker-ce-cli containerd.io systemctl start docker systemctl enable docker 在所有节点上安装kubeadm、kubelet和kubectl。以下是安装步骤:
yum install -y kubelet kubeadm kubectl systemctl enable kubelet systemctl start kubelet 在Master节点上运行以下命令来初始化集群:
kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.18.0 --service-cidr 10.96.0.0/12 --pod-network-cidr 10.244.0.0/16 配置kubectl以连接到集群:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config 安装CNI网络插件(例如Calico):
kubectl apply -f "https://docs.projectcalico.org/manifests/calico.yaml" 在Worker节点上运行以下命令加入集群:
kubeadm join 192.168.1.106:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash> Kubernetes提供了多种资源管理工具,包括命令行工具kubectl和声明式配置文件。你可以使用kubectl来创建、查看和删除资源,例如:
kubectl create deployment nginx-dp --image=nginx:1.17.9 -n kube-public kubectl expose deployment nginx-dp --port=80 -n kube-public 使用工具如kubectl、kubelet和kube-proxy来监控和管理集群状态。对于日志和监控,可以考虑使用Prometheus和Grafana。
以上步骤提供了一个基本的框架,但在实际部署过程中,可能需要根据具体情况进行调整和优化。