记录一次kubeadm有网情况下搭建k8s,(终于成功了呜呜~)一套流程下来内容不多,但是艰辛只有自己知道啊

195 阅读1分钟

本次记录是根据k8s官网配出来的,莫喷,原理我也不懂,学习k8s首先是要配出来啊

图片.png

1 允许 iptables 检查桥接流量

cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system

2 关闭swap

swapoff -a

sed -ri 's/.*swap.*/#&/'

3 关闭selinux

setenforce  0

sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

4 关闭禁用防火墙

systemctl disable firewalld --now

5 ,安装docker

在线安装比较慢,可以下载二进制包来部署
step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
step 5:配置docker镜像源和cgroup
mkdir /etc/docker/
vim /etc/docker/daemon.json
{
    "exec-opts": ["native.cgroupdriver=systemd"],
    "registry-mirrors": ["https://hub-mirror.c.163.com"]
}
setp 6: 开启docker
systemctl enable  docker --now
查看是否启动成功
docker verison

6 安装指定版本kubeadm、kubelet 和 kubectl

配置yum源
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=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

yum install -y kubelet-1.21.0-0 kubeadm-1.21.0-0 kubectl-1.21.0-0 --disableexcludes=kubernetes
ps: 由于阿里云镜像官网未开放同步方式, 可能会有索引gpg检查失败的情况, 这时请用 `yum install -y --nogpgcheck kubelet kubeadm kubectl` 安装
启动kubelet
systemctl enable kubelet.service --now

7 初始化集群

主节点执行 kubeadm  init
kubeadm init    --image-repository registry.aliyuncs.com/google_containers   
然后会拉取需要的镜像 由于国外网站有些镜像拉取不下来  
可以通过 kubeadm  config images list 查看所需镜像
使用docker pull registry.aliyuncs.com/google_containers/coredns:1.8.0 拉取 
然后docker tag  更改镜像标签为 k8s镜像的标签
然后就可以初始化成功
最后一行会提示 kubeadm join  记录下来  node加入集群需要执行
然后执行 export KUBECONFIG=/etc/kubernetes/admin.conf

8 node 节点加入集群

执行上边记录的kubeadm join ***********************

9 kubectl get no 查看节点是否加入成功

图片.png

NotReady 是因为还没有安装网络插件

10 安装网络插件

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

ks8搭建完成

如果有问题可以随时联系,本人小白一枚,欢迎互相交流指教