「 CentOS7 安装部署k8s」

一、Linux系统部署K8s还是非常便利的,只需要掌握Linux常用命令,便可以迅速部署,一起来学习一下吧

1、运行以下命令更新系统并安装必要工具:

bash 复制代码
yum update -y
yum install -y yum-utils device-mapper-persistent-data lvm2
 

2、安装Docker

添加Docker仓库并安装Docker:

bash 复制代码
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
 

3、配置k8s仓库

创建k8s仓库配置文件:

bash 复制代码
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
 

4、安装k8s组件

安装kubeadm、kubelet和kubectl:

bash 复制代码
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet
 

5、配置系统参数

修改内核参数并加载模块:

bash 复制代码
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
modprobe br_netfilter
 

6、 初始化Master节点

在主节点执行初始化命令:

bash 复制代码
kubeadm init --pod-network-cidr=10.244.0.0/16
 

7、完成初始化后按提示配置kubectl:

bash 复制代码
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
 

8、安装网络插件

部署Flannel网络:

bash 复制代码
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
 

9、加入Worker节点

在Worker节点执行Master初始化时输出的join命令:

bash 复制代码
kubeadm join <master-ip>:<port> --token <token> --discovery-token-ca-cert-hash <hash>
 

10、验证集群状态

在Master节点运行以下命令验证集群状态:

bash 复制代码
kubectl get nodes
kubectl get pods --all-namespaces
 

所有节点状态应为Ready,且CoreDNS等组件运行正常。

11、可选配置

允许Master节点调度Pod:

bash 复制代码
kubectl taint nodes --all node-role.kubernetes.io/master-
 

常见问题处理

若遇到镜像拉取问题,可尝试配置国内镜像源

bash 复制代码
mkdir -p /etc/docker
cat <<EOF > /etc/docker/daemon.json
{
  "registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"]
}
EOF
systemctl restart docker