在CentOS上扩展Kubernetes(k8s)集群的节点通常涉及以下几个步骤:
/etc/hosts
文件中配置节点间的IP地址映射。在新节点上安装Docker和Kubelet:
# 安装Docker
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce
systemctl enable docker && systemctl start docker
# 安装Kubelet
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
在新节点上运行以下命令,将新节点加入到Kubernetes集群中:
# 获取加入命令
kubeadm token create --print-join-command
# 在新节点上运行加入命令
在Master节点上运行以下命令,查看新节点的状态:
kubectl get nodes
Kubernetes提供了Horizontal Pod Autoscaler (HPA)来实现动态扩展。以下是一个简单的示例:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app-container
image: nginx:latest
ports:
- containerPort: 80
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
name: my-app-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: my-app
minReplicas: 1
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
targetAverageUtilization: 80
监控应用负载:Kubernetes会根据HPA配置中定义的指标(例如CPU利用率)来监控应用的负载情况。
自动调整副本数:根据实际负载情况,Kubernetes会自动调整Deployment的副本数。
以上步骤可以帮助你在CentOS上扩展Kubernetes集群的节点。根据具体需求,你可能还需要进行更多的配置和优化。