!!!!!!如果看不懂文档点击进入视频k8s配置视频!!!!!!!!!!!
环境准备
设备对应的IP地址
虚拟机说明192.168.88.142k8s-master192.168.88.144k8s-node1192.168.88.143k8s-node1
更改主机名
hostnamectl set-hostname k8s-master
hostnamectl set-hostname k8s-node1
hostnamectl set-hostname k8s-node2
将机器的IP地址以及主机名进行配置
vi /etc/hosts
# 将文件插入到hosts文件中192.168.88.142 k8s-master
192.168.88.144 k8s-node1
192.168.88.143 k8s-node2
关闭防火墙
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld #开机禁用防火墙
关闭SELinux
sed -i 's/SELINUX=permissive/SELINUX=disabled/' /etc/sysconfig/selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
禁用交换分区
swapoff -a
sed -i 's/.*swap.*/#&/' /etc/fstab
将桥接的IPv4流量传递到iptables的链
cat<<EOF> /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
EOF
使上述配置生效
sysctl --system
下载配置ipvs
yum -y install ipset ipvsadm
执行以下的脚本
cat> /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF
授权、运行、检查是否加载:
chmod755 /etc/sysconfig/modules/ipvs.modules &&bash /etc/sysconfig/modules/ipvs.modules && lsmod |grep -e ip_vs -e nf_conntrack_ipv4
检查是否加载:
lsmod |grep -e ipvs -e nf_conntrack_ipv4
安装配置docker
安装wget
yum installwget
下载docker组件并且安装
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
yum -y install docker-ce-18.06.3.ce-3.el7
启动docker:
systemctl enabledocker&& systemctl start dockerdocker version
设置Docker镜像加速器:
sudomkdir -p /etc/docker
sudotee /etc/docker/daemon.json <<-'EOF'
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["https://du3ia00u.mirror.aliyuncs.com"],
"live-restore": true,
"log-driver":"json-file",
"log-opts": {"max-size":"500m", "max-file":"3"},
"storage-driver": "overlay2"
}
EOF
重启docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker
安装kubeadm,kubelet 和 kubectl(所有设备)
添加k8s的阿里云YUM源
# 执行配置k8s阿里云源cat> /etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
安装kubeadm、kubectl、kubelet
yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
# 启动kubelet服务
systemctl enable kubelet && systemctl start kubelet
修改配置文件
vi /etc/sysconfig/kubelet
# 修改KUBELET_EXTRA_ARGS="--cgroup-driver=systemd"KUBE_PROXY_MODE="ipvs"
设置开机自启
systemctl enable kubelet
master节点初始化(在master节点)
列出所需要镜像
kubeadm config images list
关闭分区
swapoff -a
master节点初始化,生成节点加入口令
# 由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里需要指定阿里云镜像仓库地址
kubeadm init \
--apiserver-advertise-address=master主机的ip地址 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.18.0 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16
上面安装完成后,k8s会提示你输入如下命令,执行
mkdir -p $HOME/.kube
sudocp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudochown$(id -u):$(id -g)$HOME/.kube/config
重新生成,重新生成基础的 join 命令(如果记住了上面初始话的join命令可以跳过此命令)
kubeadm token create --print-join-command
获取节点
kubectl get nodes
根据在master节点得到的集群加入命令,复制命令在node1上执行,加入集群(在node节点执行)
每个机器join命令不同,如果忘记可以使用
kubeadm token create --print-join-command
重新获取
kubeadm join192.168.134.130:6443 --token 6rrpc8.aupp8v1bg0j0rww3 \
--discovery-token-ca-cert-hash sha256:398a246d29e3564e1737937498050719bfce04ebffc6f2273bf00e2420d30629
部署容器网络
下载calico.yaml
wget https://docs.projectcalico.org/v3.14/manifests/calico.yaml
kubectl安装calico
kubectl apply -f calico.yaml
获取状态
kubectl get pods -n kube-system
查看集群服务健康状态
kubectl get cs
查询集群运行位置信息
kubectl cluster-info
再次
get 集群节点
kubectl get nodes
可以看到集群的所有节点处于ready的状态
测试网络配置
拉取镜像
kubectl create deployment nginx --image=nginx
查看镜像的拉取的状态
kubectl get pod
出现runing状态就是拉取镜像成功
开放端口
kubectl expose deployment nginx --port=80 --type=NodePort
查看网络端口
kubectl get pod,svc
红色标线部分为端口
进入ui界面
在浏览器输入
node节点的ip地址:端口
,进入ul界面,出现以下界面
愿君前程似锦,未来可期去💯,感谢您的阅读,本博客仅供参考,因每台计算机环境不一,不能 保证成功,如果有问题和意见请留下,我们可以一起探讨,学习,进步。
如有请侵权联系,本人会立即删除侵权文章
最近更新时间:2023/3/18
版权归原作者 阿龙的代码在报错 所有, 如有侵权,请联系我们删除。