本次记录是根据k8s官网配出来的,莫喷,原理我也不懂,学习k8s首先是要配出来啊
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 查看节点是否加入成功
NotReady 是因为还没有安装网络插件
10 安装网络插件
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
ks8搭建完成
如果有问题可以随时联系,本人小白一枚,欢迎互相交流指教