「 CentOS7 安装部署k8s」
一、Linux系统部署K8s还是非常便利的,只需要掌握Linux常用命令,便可以迅速部署,一起来学习一下吧
1、运行以下命令更新系统并安装必要工具:
yum update -y
yum install -y yum-utils device-mapper-persistent-data lvm2
2、安装Docker
添加Docker仓库并安装Docker:
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仓库配置文件:
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:
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet
5、配置系统参数
修改内核参数并加载模块:
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节点
在主节点执行初始化命令:
kubeadm init --pod-network-cidr=10.244.0.0/16
7、完成初始化后按提示配置kubectl:
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
8、安装网络插件
部署Flannel网络:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
9、加入Worker节点
在Worker节点执行Master初始化时输出的join命令:
kubeadm join <master-ip>:<port> --token <token> --discovery-token-ca-cert-hash <hash>
10、验证集群状态
在Master节点运行以下命令验证集群状态:
kubectl get nodes
kubectl get pods --all-namespaces
所有节点状态应为Ready,且CoreDNS等组件运行正常。
11、可选配置
允许Master节点调度Pod:
kubectl taint nodes --all node-role.kubernetes.io/master-
常见问题处理
若遇到镜像拉取问题,可尝试配置国内镜像源
mkdir -p /etc/docker
cat <<EOF > /etc/docker/daemon.json
{"registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"]
}
EOF
systemctl restart docker