当前位置: 首页 > article >正文

kubeadm快速自动化部署k8s集群

目录

一、准备环境

二、安装docker--三台机器都操作

三、使用kubeadm部署Kubernetes

在所有节点安装kubeadm和kubelet、kubectl

配置启动kubelet(所有主机)

master节点初始化

Mater重新完成初始化

执行Master初始化后的提示配置

配置使用网络插件

创建flannel网络

所有node节点加⼊集群

各种检测

一步到位加入集群


一、准备环境

切记要关闭防⽕墙、selinux、禁用交换空间,cpu核⼼数⾄少为2,内存4G ,配置yum源,修改主机名,做域名解析。

具体配置及命令参考:二进制安装步骤 准备环境。

二、安装docker--三台机器都操作

现在这种方式,需要使用镜像,所以master也需要安装docker,如果主机之前安装的有docker需要先卸载。

# yum remove docker \

docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
# yum install -y yum-utils device-mapper-persistent-data lvm2 git
# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# yum install docker-ce -y
启动并设置开机启动
kuberadm比较严格,必须设置docker开启自启,swp分区必须关闭,否则无法正常初始化
# systemctl start docker
# systemctl enable docker

三、使用kubeadm部署Kubernetes

在所有节点安装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=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

kubelet :Kubernetes 的节点代理,负责在每个节点上运行,并确保容器运行在 Pod 中。

kubeadm :是一个命令行工具,用于初始化和管理 Kubernetes 集群。

kubectl :是 Kubernetes 的命令行工具,用于与 Kubernetes 集群进行交互。

ipvsadm :是用于设置、维护和检查 Linux 内核中 IP 虚拟服务器(IPVS)表的用户空间实用程序,IPVS 可以实现 Kubernetes 中的服务负载均衡

1.所有节点安装
# yum install -y kubelet-1.19.1-0.x86_64 kubeadm-1.19.1-0.x86_64 kubectl-1.19.1-0.x86_64 ipvsadm

2.加载ipvs相关内核模块
# lsmod | grep ip_vs
ipvs的模块并没有加载
# modprobe ip_vs && modprobe ip_vs_rr && modprobe ip_vs_wrr && modprobe ip_vs_sh && modprobe nf_conntrack_ipv4

3.编辑文件添加开机启动
# vim /etc/rc.local
如果重新开机,需要重新加载(可以写在 /etc/rc.local 中开机自动加载)
modprobe ip_vs
modprobe ip_vs_rr
modprobe ip_vs_wrr
modprobe ip_vs_sh
modprobe nf_conntrack_ipv4

# chmod +x /etc/rc.local

4.配置:
配置转发相关参数,否则可能会出错
# cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
vm.swappiness=0
EOF

5.使配置生效
# sysctl --system

如果net.bridge.bridge-nf-call-iptables报错,加载br_netfilter模块
# modprobe br_netfilter
# sysctl -p /etc/sysctl.d/k8s.conf

7.查看是否加载成功
# lsmod | grep ip_vs

配置启动kubelet(所有主机)

1.配置kubelet使用pause镜像

获取docker的驱动cgroups(linux提供的资源隔离限制)
设置变量DOCKER_CGROUPS 等于  docker驱动cgroups的值

# DOCKER_CGROUPS=`docker info|grep "Cgroup Driver"|awk '{print $3}'`

2.配置kubelet的cgroups

阿里云的pause镜像
# cat >/etc/sysconfig/kubelet<<EOF
KUBELET_EXTRA_ARGS="--cgroup-driver=$DOCKER_CGROUPS --pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google_containers/pause-amd64:3.2"
EOF


或者 k8s官网的pause镜像
# cat >/etc/sys

http://www.kler.cn/news/366434.html

相关文章:

  • 攻防世界-流量分析WP
  • WORFBENCH:一个创新的评估基准,目的是全面测试大型语言模型在生成复杂工作流 方面的性能。
  • Redisson(二)SpringBoot集成Redisson
  • 有关spring,springboot项目的知识点
  • Python开发日记 -- 实现bin文件的签名
  • 【Unity 安装教程】
  • (三)第一个Qt程序“Qt版本的HelloWorld”
  • jmeter录制接口
  • 【初阶数据结构】计数排序 :感受非比较排序的魅力
  • Flink CDC系列之:学习理解核心概念——Data Pipeline
  • MySQL 二进制和中继日志管理
  • STM32L031F6P6开发环境搭建
  • 隨筆 20241023 Kafka 的幂等性与分区顺序性探讨
  • excel斜线表头
  • python爬虫:实例讲解xpatch的基本使用
  • 人工智能在自然语言处理(NLP)中的应用
  • Redis面试题扩展
  • .NET Core WebApi第2讲:前后端分离,Restful
  • unity URP下VolumetricFog插件发布的时候安卓里没有显示问题
  • C++二级2021年9月试卷及答案
  • Python——脚本实现datax全量同步mysql到hive
  • (北京政务服务满意度公司)满意度调查助力服务质量提升
  • 【Java】类来管理个人简历信息
  • UWB物资定位标签
  • C2W4.LAB.Word_Embedding.Part1
  • 智能听诊器:宠物医疗行业的新动力