Fork me on GitHub

CentOS 7 安装k8s集群

1、创建3台虚拟机,并绑定可以连接外网的EIP

也可以直接用virtualbox创建3个节点

 

 

2、配置主机名、添加hosts
hostnamectl set-hostname k8s-master
hostnamectl set-hostname k8s-node1
hostnamectl set-hostname k8s-node2

cat >> /etc/hosts << EOF
192.168.56.11 k8s-master1
192.168.56.12 k8s-node1
192.168.56.13 k8s-node2
EOF

 

 

3、关闭防火墙、SELINUX和swap分区
systemctl stop firewalld && systemctl disable firewalld
setenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
swapoff -a && sed -ri 's/.*swap.*/#&/' /etc/fstab

 

 

4、配置阿里云yum源
cd /etc/yum.repos.d/ && mkdir bak && mv *.repo bak

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
curl -o/etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
EOF

yum clean all && yum makecache

 

 

5、将桥接的IPV4流量传递到iptables 的链
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

sysctl --system

 

 

6、安装k8s
yum install -y kubelet kubeadm kubectl

systemctl enable kubelet

 

 

7、安装docker

yum install -y docker-ce

systemctl enable docker && systemctl start docker

 


8、统一docker运行方式
sed -i 's/ExecStart=\/usr\/bin\/dockerd/& --exec-opt native.cgroupdriver=systemd/g' /usr/lib/systemd/system/docker.service

systemctl daemon-reload && systemctl restart docker

 

 

9、在master节点初始化
kubeadm init \
--apiserver-advertise-address=192.168.56.11 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.23.5 \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16

 

按照上图提示先完成集群启动配置文件的配置

 

 

10、此时集群状态为notReady,需要先创建网络,如果无法获取文件,需要先想办法获取到对应的yaml文件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

 

 

 

11、在node节点执行节点加入集群操作,使用第9步初始化的时候打印出来的命令

 

 

12、使能node节点可以使用kubectl命令
mkdir ~/.kube && scp k8s-master:/root/.kube/config ~/.kube/

 

 

13、安装并配置kube命令补全
yum -y install bash-completion
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc

 

posted @   超级花心大萝卜  阅读(458)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示