kubernetes集群安装详细步骤

news2024/10/1 12:24:47

kubernetes集群安装详细步骤(V1.20.6)

本篇主要介绍kubernetes的1.20.6版本集群安装,废话不多说,直接看步骤:

1、安装环境介绍

 主机节点:

主机操作系统:Centos7.9  配置: 内存建议4G,CPU建议2C以上

K8s节点IP段:

Pod段:10.244.0.0/16

Svc段:10.96.0.0/16

注意:不要和主机IP段重复

2、初始化环境

2.1、按照规划设置各主机IP

# vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改各个主机节点对应的ip为:192.168.40.21\192.168.40.22\192.168.40.23

重启网络服务

# service network restart

2.2、配置机器主机名

#192.168.40.21节点执行:

# hostnamectl set-hostname zchmaster1 && bash

#192.168.40.22节点执行:

# hostnamectl set-hostname zchnode1 && bash

#192.168.40.23节点执行:

# hostnamectl set-hostname zchnode2 && bash

2.3、配置主机文件

# vi /etc/hosts

添加如下内容:

192.168.40.21 zchmaster1

192.168.40.22 zchnode1

192.168.40.23 zchnode2

2.4、关闭selinux

# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

需重启机器才能永久生效

# reboot

2.5、配置主机之间免密登录

此步骤,可选操作,为了拷贝文件方便可以执行

# ssh-keygen

# ssh-copy-id zchmaster1

# ssh-copy-id zchnode1

# ssh-copy-id zchnode2

2.6、关闭交换分区swap

Swap是交换分区,在机器内存不够时,会使用swap分区,但swap分区的性能较低,k8s默认不允许使用交换分区。

# vi /etc/fstab

注释掉一下内容,或者删除

#/dev/mapper/centos-swap swap swap defaults 0 0

保存退出

2.7、修改主机内核参数

# modprobe br_netfilter

# echo "modprobe br_netfilter" >> /etc/profile

# cat > /etc/sysctl.d/k8s.conf

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

net.ipv4.ip_forward = 1

EOF

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

2.8、配置repo源

#配置docker的repo源,国外的访问太慢,使用阿里云的

# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#配置k8s的repo源

# vi /etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=Kubernetes

baseurl=kubernetes-yum-repos-kubernetes-el7-x86_64安装包下载_开源镜像站-阿里云

enabled=1

gpgcheck=0

#将master1上Kubernetes的repo源复制给node1和node2

复制到node1:

# scp /etc/yum.repos.d/kubernetes.repo zchnode1:/etc/yum.repos.d/

复制到node2:

# scp /etc/yum.repos.d/kubernetes.repo zchnode2:/etc/yum.repos.d/

3、安装docker服务

Docker的详细安装步骤在其他篇博客已经介绍,点击查看:Docker安装详细步骤_周十一.的博客-CSDN博客

4、安装kubernetes集群

4.1、下载初始化k8s集群所需镜像

       打开 Docker Hub 网站(https://hub.docker.com)官网,搜索kubernetes/base-image ,择合适的镜像版本,并点击进入该镜像详情页面,根据操作系统类型和版本选择相应的镜像标签(tag),并复制该标签名称,然后拉取镜像。

执行命令:

   # docker pull kubernetes/base-image:<tag>

       在线很多时候都无法拉取k8s集群初始化相关镜像,最好找台机器可以访问相关网址提前下载好,导出成压缩包(如:8simage-1-20-6.tar.gz),拷贝到各个地方都可以,只需要执行导入操作

执行命令:

   # docker load -i k8simage-1-20-6.tar.gz

查看导入镜像:

   # docker images

4.2、编写 kubeadm.yaml文件

# yum install -y kubelet-1.20.6 kubeadm-1.20.6 kubectl-1.20.6

# systemctl enable kubelet

在master1节点上执行, 生成kubeadm.yaml 文件

# kubeadm config print init-defaults > kubeadm.yaml

修改配置文件如下内容:

advertiseAddress:控制节点地址,修改为192.168.40.21

imageRepository:镜像仓库拉取地址,修改为:registry.aliyuncs.com/google_containers

kube-proxy的模式设置为: ipvs

cgroupDriver:修改为systemd,与docker保持一致

podSubnet: 10.244.0.0/16 

kubernetesVersion: v1.20.6

配置文件末尾追加如下内容:

---

apiVersion: kubeproxy.config.k8s.io/v1alpha1

kind: KubeProxyConfiguration

mode: ipvs

---

apiVersion: kubelet.config.k8s.io/v1beta1

kind: KubeletConfiguration

cgroupDriver: systemd

篇幅有限这里就不把完整的配置文件 贴出来了,有问题留言

4.3、初始化k8s集群

# kubeadm init --config=kubeadm.yaml --ignore-preflight-errors=SystemVerification

出现如上界面,表示初始化成功。

根据上图提示,执行如下初始化操作:

# mkdir -p $HOME/.kube

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

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

查看节点状态:

# kubectl get nodes

4.4、工作节点加入集群

在master1上生成加入节点的命令:

# kubeadm token create --print-join-command

显示如下:

kubeadm join 192.168.40.21:6443 --token l1gu1i.o9i56fy20ynj6w8g --discovery-token-ca-cert-hash sha256:06dfb194b0034534eba1df0b57e9c94da57196816d2d1a1b100dbece2ae087ed

在node1、node2执行命令加入群:

# kubeadm join 192.168.40.21:6443 --token l1gu1i.o9i56fy20ynj6w8g --discovery-token-ca-cert-hash sha256:06dfb194b0034534eba1df0b57e9c94da57196816d2d1a1b100dbece2ae087ed

#在master1上查看集群节点状况:

# kubectl get nodes

以上,除了网络组件还没安装,整个集群基本安装完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/983664.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

引入Bootstrap的CSS样式后,<h>标签、<p>标签等HTML自带的标签被覆写没有?答:覆写了。

引入Bootstrap的CSS样式后,标签、 标签等HTML自带的标签被覆写没有&#xff1f;答&#xff1a;覆写了。 为什么这么说&#xff1f;证据呢&#xff1f; 写一个实例&#xff0c;然后调试模式看一下不就得了。 先看没有引入引入Bootstrap的CSS样式情况。 代码如下&#xff1a; …

二分查找实例1(在排序数组中查找元素的第一个和最后一个位置)

题目 给你一个按照非递减顺序排列的整数数组 nums&#xff0c;和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target&#xff0c;返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 示例 1&…

深入学习与探索:高级数据结构与复杂算法

文章目录 学习高级数据结构B树&#xff1a;数据库引擎的骨干线段树&#xff1a;高效的区间查询Trie树&#xff1a;高效的字符串检索 探索复杂算法领域图算法&#xff1a;解决复杂网络问题字符串匹配算法&#xff1a;处理文本搜索近似算法&#xff1a;在NP难题上取得近似解 结论…

聊聊Kafka的生产者消费者确认机制

一、生产者确认机制 消息从生产者客户端发送至broker服务端topic&#xff0c;需要ack确认。acks与min.insync.replicas是两个配置参数.其中acks是producer的配置参数&#xff0c;min.insync.replicas是Broker端的配置参数&#xff0c;这两个参数对于生产者不丢失数据起到了很大…

PMP证书续费是否真的有必要呢?(内附续证流程)

PMP项目管理专业人士资格认证是由项目管理协会&#xff08;Project Management Institute&#xff0c;简称PMI&#xff09;发起的。PMP作为世界级的项目管理认证证书&#xff0c;拥有着先进的项目管理知识体系&#xff0c;它严格评估项目管理人员知识技能是否具有高品质的资格认…

Android图片一直在另一张图的下边

因为之前开发的时候&#xff0c;头像设置了高度属性android:elevation"2px",导致同一父布局中另一张图一直就是显示在下方&#xff0c;如下图&#xff1a; 方法一&#xff1a;大家可以注意下也加上这个属性&#xff0c;这个属性值大于上边这个图的值就能在这张图的上…

KubeSphere Namespace 数据删除事故分析与解决全记录

作者&#xff1a;宇轩辞白&#xff0c;运维研发工程师&#xff0c;目前专注于云原生、Kubernetes、容器、Linux、运维自动化等领域。 前言 2023 年 7 月 23 日在项目上线前夕&#xff0c;K8s 生产环境出现故障&#xff0c;经过紧急修复之后&#xff0c;K8s 环境恢复正常&#…

nodejs-处理http请求

文章目录 前言node 处理 get 请求node 处理 post 请求总结 前言 使用nodejs搭建后端代理服务&#xff0c;处理http请求&#xff0c;理解nodejs是如何处理get、post请求的 node 处理 get 请求 使用 http 模块创建代理服务器使用 querystring 模块解析请求参数req.end 方法发送…

UOS系统下fastdeploy推理

Cmake安装 apt install build-essential zlib1g-dev libssl-dev wget https://github.com/Kitware/CMake/releases/download/v3.23.2/cmake-3.23.2.tar.gz tar -zxvf cmake-3.23.2.tar.gz cd cmake-3.23.2 ./bootstrap make make install cmake --version在Github或者gitee 查…

IDEA中启动类是灰色,重启idea启动类自动消失解决方法

问题描述&#xff1a; idea中启动多个服务会在services中展示服务的信息和控制台&#xff0c;但是经常有一些启动类会变成灰色的&#xff0c;而且重启idea后经常会自动消失&#xff0c;下次启动时需要手动再去启动&#xff0c;很麻烦。如下图所示&#xff1a; 解决方法&…

智能配电管理系统

智能配电管理系统是按用户的需求&#xff0c;遵循配电系统的标准规范而二次开发的一套具有专业性强、自动化程度高、易使用、高性能、高可靠等特点的适用于低压配电系统的电能管理系统。 智能配电管理系统包括监控管理层、网络通信层、现场采集层、用电保护层和受控设备层&…

基于javaweb的网上图书销售系统(servlet+jsp)

系统简介 本项目采用eclipse工具开发&#xff0c;jspservletjquery技术编写&#xff0c;数据库采用的是mysql&#xff0c;navicat开发工具。 角色&#xff1a; 管理员普通用户 模块简介 管理员&#xff1a; 登录用户管理图书分类管理图书管理图书订单管理图书评论管理数据统…

视频云存储/安防监控/AI分析/视频AI智能分析网关:垃圾满溢算法

随着我国科技的发展和城市化进程加快&#xff0c;大家对于生活环境以及空气质量更加重视&#xff0c;要求越来越严格。城市街道垃圾以及生活区垃圾满溢已经成为城市之痛。乱扔垃圾&#xff0c;垃圾不入桶这些行为已经严重影响到了城市的美化问题。特别是炎热的夏日和雨水季节&a…

应用在汽车新风系统中消毒杀菌的UVC灯珠

在病毒、细菌的传播可以说是一个让人敏感而恐惧的事情。而对于车内较小的空间&#xff0c;乘坐人员流动性大&#xff0c;更容易残留细菌病毒。车内缺少通风&#xff0c;残留的污垢垃圾也会滋生细菌&#xff0c;加快细菌的繁殖。所以对于车内消毒就自然不容忽视。 那么问题又来…

软件提示vcruntime140_1.dll丢失的解决方法,以及丢失的原因总结

在运行某些程序时&#xff0c;可能会出现“vcruntime140_1.dll 丢失”的错误提示。这是因为 vcruntime140_1.dll 是 Visual C Redistributable 的一部分&#xff0c;它通常被安装在 Windows 操作系统上。如果该文件丢失或无法找到&#xff0c;可能会导致程序无法正常运行。在我…

华为云使用脚本初始化Linux数据盘

初始化新挂载的磁盘 登录云服务器&#xff0c;执行以下命令获取自动初始化磁盘脚本。 wget https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/datadisk/LinuxVMDataDiskAutoInitialize.sh 说明&#xff1a; 若回显异常&#xff0c;请检查云服务器是否绑定弹性公…

vue-cli搭建一个新项目及基础配置

vue-cli搭建一个新项目及基础配置 一、安装步骤二、main.js配置三、router下的index.js 一、安装步骤 1.安装node环境&#xff1a;下载地址&#xff1a;Node.js 2.安装脚手架&#xff1a;npm install -g vue/cli 3.创建vue项目&#xff1a;vue create 项目名 4.进入项目&…

什么耳机音质最好又不伤耳朵,什么耳机好用耳朵不疼

如果你还在疑问什么耳机好用并且用了耳朵不痛的话&#xff0c;那你就应该看完本片文章了&#xff01; 近年来&#xff0c;骨传导耳机在市场上的热度可谓是飙升不止&#xff0c;走在街头&#xff0c;你会发现无数人戴着这种科技神器。相较于传统的真无线蓝牙耳机&#xff0c;骨传…

奇葩招聘:招程序员,限45岁以上,不加班,薪资还不低……

咱就是说&#xff0c;这年头&#xff0c;谁还不想找一份“越老越吃香”的工作呀&#xff1f; 但是在多金的互联网&#xff0c;却一直充斥着“35岁焦虑”的话题&#xff0c;弄得人心惶惶。焦虑归焦虑&#xff0c;越老越吃香的工作还是有滴~这不&#xff0c;日前&#xff0c;便有…

关于火绒邮件监控引起的扫描任意IP会有25和110端口反馈

之前测试过公司的外网IP&#xff0c;因为之前一直很注意对外映射的端口&#xff0c;都限制了可以访问的IP地址和端口&#xff0c;所以之前扫描的时候是一个端口都扫描不出来的。最近闲的无事&#xff0c;想着再扫描试试&#xff0c;结果发现居然开放了25和110端口&#xff0c;我…