在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。
以上步驟提供了一個基本的框架,但在實際部署過程中,可能需要根據具體情況進行調整和優化。