kubeadm快速自动化部署k8s集群

ops/2024/11/2 6:47:44/

目录

一、准备环境

二、安装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 ipvsadm2.加载ipvs相关内核模块
# lsmod | grep ip_vs
ipvs的模块并没有加载
# modprobe ip_vs && modprobe ip_vs_rr && modprobe ip_vs_wrr && modprobe ip_vs_sh && modprobe nf_conntrack_ipv43.编辑文件添加开机启动
# 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.local4.配置:
配置转发相关参数,否则可能会出错
# cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
vm.swappiness=0
EOF5.使配置生效
# sysctl --system如果net.bridge.bridge-nf-call-iptables报错,加载br_netfilter模块
# modprobe br_netfilter
# sysctl -p /etc/sysctl.d/k8s.conf7.查看是否加载成功
# 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.ppmy.cn/ops/130354.html

相关文章

KPRCB结构之ReadySummary和DispatcherReadyListHead

ReadySummary: Uint4B DispatcherReadyListHead : [32] _LIST_ENTRY 请参考 _KTHREAD *__fastcall KiSelectReadyThread(ULONG LowPriority, _KPRCB *Prcb)

Java Web 核心知识点总结

Java Web 核心知识点总结 一、HTTP协议 核心概念 请求/响应模型无状态协议持久连接 关键要素 请求方法(GET/POST/PUT/DELETE)状态码(2xx成功/3xx重定向/4xx客户端错误/5xx服务器错误)常用请求头和响应头 二、Servlet 生命周期 加载类创建实例(单例)init()初始化service()服…

基于SpringBoot+Vue技术的宇宙动漫网站【前后端分离】

基于SpringBootVue技术的宇宙动漫网站设计与实现 摘要 宇宙动漫网站是一个为动漫爱好者提供观看、讨论和分享的平台&#xff0c;致力于打造一个全面且便捷的动漫资源平台。该网站使用SpringBoot和Vue技术栈&#xff0c;通过后端提供数据接口支持和数据存储&#xff0c;前端实现…

Jetson AGX Orin 实现相机雷达联合标定

Jetson AGX Orin 实现相机雷达联合标定. 使用autoware标定工具,联合标定lidar和相机,计算出内外参等参数, 实现点云目标映射到图像上. 点云分隔目标映射图片 环境安装参考: Jetson AGX Orin 安装 Autoware calibration_toolkit 标定工具 标定雷达和相机 新开终端 roscore 新…

工厂方法模式与抽象工厂模式

工厂方法模式 (Factory Method) 定义&#xff1a; 工厂方法模式是一种创建型设计模式&#xff0c;它定义了一个用于创建对象的接口&#xff0c;但让子类决定实例化哪个类。工厂方法将类的实例化推迟到子类。 优点&#xff1a; 解耦&#xff1a;客户端代码与具体的产品类解耦…

Uniapp 实现app自动检测更新/自动更新功能

实现步骤 配置 manifest.json 在 manifest.json 中设置应用的基本信息&#xff0c;包括 versionName 和 versionCode。 一般默认0.0.1&#xff0c;1. 服务器端接口开发 提供一个 API 接口&#xff0c;返回应用的最新版本信息&#xff0c;版本号、下载链接。客户端检测更新 使…

C++入门——“C++11-右值引用和移动语义”

C11相比于C98增加以许多新特性&#xff0c;让C语言更加灵活好用&#xff0c;但是貌似也增加了许多学习的难度&#xff0c;现在先看第一部分。 一、右值引用和移动语义 1.右值引用和左值引用 在C中&#xff0c;值可以大致分为右值和左值&#xff0c;左值大概是哪些已经被定义的变…

DirectShow过滤器开发-写MP3音频文件过滤器(再写 写MP3)

下载本过滤器DLL 本过滤器将MP3音频流写到MP3音频文件。 过滤器信息 过滤器名称&#xff1a;写MP3_2 过滤器GUID&#xff1a;{AE46BC15-71E5-471C-8540-3B73094111EC} DLL注册函数名&#xff1a;DllRegisterServer 删除注册函数名&#xff1a;DllUnregisterServer 过滤器有1个…