在 Linux 系统下部署 Kubernetes 集群是一个相对复杂的过程,但以下步骤可以帮助你顺利完成。以下步骤基于 Ubuntu 和 CentOS 的安装指南。
系统要求:
swapoff -a
并注释 /etc/fstab
中的 Swap 条目。安装 Docker:
curl -fsSL https://get.docker.com | sh
systemctl enable --now docker
apt install -y docker.io
systemctl enable --now docker
安装 Kubernetes 组件:
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[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
EOF
yum install -y kubeadm kubelet kubectl
systemctl enable --now kubelet
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
echo "deb https://mirrors.cloud.google.com/apt/ kubernetes-xenial main" | tee /etc/apt/sources.list.d/kubernetes.list
apt update
apt install -y kubeadm=1.28.3-00 kubectl=1.28.3-00 kubelet=1.28.3-00
systemctl enable --now kubelet
初始化控制平面(Master Node):
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=<MASTER_IP> --upload-certs
初始化完成后,配置 kubectl
:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
安装网络插件(如 Flannel):
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
加入工作节点(Worker Nodes):
在工作节点上运行主节点生成的加入命令:
sudo kubeadm join <MASTER_IP>:6443 --token <TOKEN> --discovery-token-ca-cert-hash <HASH>
检查集群状态:
kubectl get nodes
kubectl get pods --all-namespaces
部署应用(如 Nginx):
创建 deployment.yaml
文件:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
部署应用:
kubectl apply -f nginx-deployment.yaml
验证应用:
kubectl get deployments
kubectl get pods
高可用性:
安全加固:
存储配置:
Ingress 配置:
监控和日志:
以上步骤涵盖了在 Linux 系统下部署 Kubernetes 集群的基本流程,包括环境准备、集群初始化、节点加入、网络插件安装、应用部署以及进阶配置。根据具体需求,你可能还需要进行更多的配置和优化。