一.安装准备
所有主机执行!!!
所有主机执行!!!
所有主机执行!!!
1.主机名配置
主节点:
hostnamectl set-hostname k8s-master1
从节点:
hostnamectl set-hostname k8s-node1
hostnamectl set-hostname k8s-node2
2.配置主机名解析
修改配置文件,vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.107 k8s-master1
192.168.1.108 k8s-node1
192.168.1.103 k8s-node2
3.关闭防火墙
systemctl disable firewalld
systemctl stop firewalld
firewall-cmd --state
4.SELINUX配置
setenforce 0
sed -i 's/enforcing/disabled/' /etc/selinux/config
5.配置网桥模块
modprobe br_netfilter
cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
查看是否加载
lsmod | grep br_netfilter
二.docker安装
所有主机执行!!!
所有主机执行!!!
所有主机执行!!!
安装docker,自动安装版本18.09.0,其他版本的docker会和k8s不匹配
dnf install docker
启用docker并设置自启动
systemctl enable docker && systemctl start docker
查看docker版本
docker --version
三.kubectl安装
k8s的版本为v1.20.2
1. 镜像安装
所有的主机安装依赖跟踪:
dnf install conntrack
k8s master节点安装:
dnf install -y kubernetes-kubeadm kubernetes-kubelet kubernetes-master
k8s node节点安装:
dnf install -y kubernetes-kubeadm kubernetes-kubelet kubernetes-node
所有节点执行:
systemctl enable kubelet
2.主节点初始化
以下均在主节点执行!!
kubeadm init --apiserver-advertise-address=192.168.1.107 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.20.2 --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16
init成功之后执行
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
安装网络插件:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
3.加入从加点
以下均在从节点执行!!
init的日志中会有一行join命令,复制到其他从节点,每个人命令不一样,一定要复制自己电脑上的:
kubeadm join 你的主节点ip:6443 \
--token 8507uc.o0knircuri8etnw2 \
--discovery-token-ca-cert-hash \
sha256:acc37967fb5b0acf39d7598f8a439cc7dc88f439a3f4d0c9cae88e7901b9d3f11
主节点查看节点状态:
kubectl get nodes
没有ready不要慌,等几分钟就OK了。
三.常见错误
1.kubectl命令报错:Unable to connect to the server: dial tcp XXX:16443: connect: no route to host
修改config文件
vim /root/.kube/config
查看文件中的ip是否为自己的ip,不是的话修改为自己的ip
2.[WARNING FileExisting-socat]: socat not found in system path
没有安装socat,安装依赖包即可
yum install socat conntrack-tools