目录
一、准备环境
主机清单
修改主机名
设置防火墙、selinux状态
主机名解析
固定ip 重启网卡
同步时间
关闭swap分区
二、获取镜像
三、安装docker
四、配置kubeadm源
安装依赖包及常用插件
1.配置kubeadm源,安装对应版本
2.加载相关ipvs模块
3.配置转发相关参数,否则可能会出错
4.重启服务器加载新配置生效
5.查看是否加载成功
五、配置启动kubelet
1.配置kubelet 使用pause镜像
2.配置kubelet的资源限制
六、配置master节点
1.运行初始化 如下操作在master节点操作
2.将node加入到集群
3.查看组件节点状态
七、配置网络组件master
1.部署calico网络插件
2.执行yaml文件
编辑
编辑 3.再次查看组件节点状态
一、准备环境
主机清单
主机名 | 地址 | 角色 | 配置 |
---|---|---|---|
kube-master | 10.12.153.49 | 主节点 | 2核4G |
kube-node1 | 10.12.153.108 | 工作节点 | 2核4G |
kube-node2 | 10.12.153.113 | 工作节点 | 2核4G |
修改主机名
设置防火墙、selinux状态
1.关闭防火墙:
systemctl disable firewalld --now
2.禁用SELinux:
setenforce 0
3.编辑文件/etc/selinux/config,将SELINUX修改为disabled,如下:
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux
主机名解析
cat >> /etc/hosts <<EOF
10.12.153.49 kube-master
10.12.153.108 kube-node1
10.12.153.113 kube-node2
EOF
固定ip 重启网卡
vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPRTOT=dhcp (动态)改为 static(静态)
IPADDR= IP地址
PREFIX=24 子网掩码
GATEWAY=网关
DNS1=114.114.114.114
DNS2=8.8.8.8
重启网络服务后生效
systemctl restart network
同步时间
ntpdate time.windows.com
关闭swap分区
swapoff -a
注释掉swap分区
sed -i 's/.swap./#&/' /etc/fstab
free -m
二、获取镜像
可以下载资源一键部署,以下是资源所包含的镜像,也可以在官网逐个拉取,注意版本对应
三、安装docker
(可以参考博主之前的文章,一看就会,直接复制粘贴)
Docker的安装跟基础使用一篇文章包会-CSDN博客
四、配置kubeadm源
安装依赖包及常用插件
yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools git iproute lrzsz bash-completion tree bridge-utils unzip bind-utils gcc
1.配置kubeadm源,安装对应版本
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
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
yum install -y kubelet-1.22.0-0.x86_64 kubeadm-1.22.0-0.x86_64 kubectl-1.22.0-0.x86_64
2.加载相关ipvs模块
cat <<EOF > /etc/modules-load.d/ipvs.conf
ip_vs
ip_vs_lc
ip_vs_wlc
ip_vs_rr
ip_vs_wrr
ip_vs_lblc
ip_vs_lblcr
ip_vs_dh
ip_vs_sh
ip_vs_nq
ip_vs_sed
ip_vs_ftp
ip_vs_sh
nf_conntrack_ipv4
ip_tables
ip_set
xt_set
ipt_set
ipt_rpfilter
ipt_REJECT
ipip
EOF
3.配置转发相关参数,否则可能会出错
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
net.ipv4.tcp_tw_recycle=0
vm.swappiness=0
vm.overcommit_memory=1
vm.panic_on_oom=0
fs.inotify.max_user_instances=8192
fs.inotify.max_user_watches=1048576
fs.file-max=52706963
fs.nr_open=52706963
net.ipv6.conf.all.disable_ipv6=1
net.netfilter.nf_conntrack_max=2310720
EOF
4.重启服务器加载新配置生效
reboot
5.查看是否加载成功
lsmod | grep ip_vs
五、配置启动kubelet
1.配置kubelet 使用pause镜像
DOCKER_CGROUPS=docker info |grep 'Cgroup' | awk ' NR==1 {print $3}'
echo $DOCKER_CGROUPS
2.配置kubelet的资源限制
cat >/etc/sysconfig/kubelet<<EOF
KUBELET_EXTRA_ARGS="--cgroup-driver=$DOCKER_CGROUPS --pod-infra-container-image=k8s.gcr.io/pause:3.5"
EOF
六、配置master节点
1.运行初始化 如下操作在master节点操作
kubeadm init --kubernetes-version=v1.22.0 --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=10.12.153.49
注: apiserver-advertise-address=10.12.153.49 ---master的ip地址。
--kubernetes-version=v1.22.0 --更具具体版本进行修改
保存kuken值,加入集群命令
kubeadm join 10.12.153.49:6443 --token rg7abo.49p9w5s2xk6ke2ki \ --discovery-token-ca-cert-hash sha256:5be80738cdfd8b35c4a02c81972b160bf2a42e2768f3c3326f14d11be33f8283
配置使用kubectl 根据上面初始化完成后的提示使用命令
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
查看node节点
kubectl get nodes
2.将node加入到集群
保存的kuken值命令在node执行
如果报错开启ip转发:
sysctl -w net.ipv4.ip_forward=1
3.查看组件节点状态
kubectl get nodes
七、配置网络组件master
1.部署calico网络插件
curl -L https://docs.projectcalico.org/v3.22/manifests/calico.yaml -O
2.执行yaml文件
kubectl apply -f calico.yaml
3.查看集群状态
kubectl get pod -A
4.再次查看组件节点状态
kubectl get nodes
希望能更够帮助到大家!!