kubeadm方式部署集群

kubeadm方式部署集群

一、准备环境

主机清单

主机名 地址 角色 配置
kub-master 10.12.153.72 主节点 2核4G
kub-node1 10.12.153.148 工作节点 2核4G
kub-node2 10.12.153.149 工作节点 2核4G

修改主机名

设置防火墙、selinux状态

主机名解析

cat >> /etc/hosts << EOF

10.12.153.72 kube-master

10.12.153.148 kube-node1

10.12.153.149 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

四、配置kubeadm源

安装常用插件

1、配置kubeadm源,安装对应版本

1.安装依赖包及常用软件包
# 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
​
2.安装对应版本
# 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、重启服务器加载新配置生效

sysctl --system

注意如果net.bridge.bridge-nf-call-iptables报错,加载br_netfilter模块

modprobe br_netfilter

modprobe ip_conntrack

sysctl -p /etc/sysctl.d/k8s.conf

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、运行初始化

kubeadm init --kubernetes-version=v1.22.0 --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=10.12.153.72

注: apiserver-advertise-address=10.12.153.72 ---master的ip地址。
--kubernetes-version=v1.22.0 --更具具体版本进行修改

保存kuken值,加入集群命令

如果忘记保存可以生成新的kuken值

2、配置使用kubectl

rm -rf $HOME/.kube

mkdir -p $HOME/.kube

cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

chown $(id -u):$(id -g) $HOME/.kube/config

2、将node加入到集群

在node节点上粘贴master生成的kuken值

3、查看组件节点状态

七、配置网络组件

1、执行yaml文件

在master上执行 curl -L https://docs.projectcalico.org/v3.22/manifests/calico.yaml -O

在执行 kubectl apply -f calico.yaml 下载网络插件

2、再次查看组件节点状态

kubectl get pod A

kubectl get nodes

相关推荐

  1. Kubeadm 部署

    2024-03-13 22:24:01       34 阅读
  2. kubeadm部署k8s

    2024-03-13 22:24:01       30 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-13 22:24:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-13 22:24:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-13 22:24:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-13 22:24:01       20 阅读

热门阅读

  1. 学习记录之数学表达式(1)

    2024-03-13 22:24:01       17 阅读
  2. ReentrantReadWriteLock学习

    2024-03-13 22:24:01       19 阅读
  3. Python中,括号内部的for循环(列表推导式)

    2024-03-13 22:24:01       20 阅读
  4. 使用Ora2Pg迁移oracle数据到openGauss

    2024-03-13 22:24:01       18 阅读
  5. Qualcomm AI Hub-API介绍

    2024-03-13 22:24:01       23 阅读
  6. C++标准输入输出和名字空间

    2024-03-13 22:24:01       27 阅读
  7. C#接口和泛型

    2024-03-13 22:24:01       21 阅读