安装kubernetes 1.33版本

一、环境准备

1、内核升级

#升级内核:
yum -y install kernel-ml-5.10.3-1.el7.elrepo.x86_64.rpm  kernel-ml-devel-5.10.3-1.el7.elrepo.x86_64.rpm# 查询可用内核版本
# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg# 调整默认内核启动
grub2-set-default "CentOS Linux (5.10.3-1.el7.elrepo.x86_64) 7 (Core)"# 核查是否修改正确,并重启使其生效
grub2-editenv list
reboot

2、防火墙和SELIUNX关闭

systemctl  disable  --now firewalld
sed -i 's/enforcing/disabled/' /etc/selinux/config

3、配置主机名和关闭swaff分区

echo "192.168.1.100 master" >> /etc/hosts
echo "192.168.1.101 node" >> /etc/hostshostnamectl set-hostname master && bash 
hostnamectl set-hostname node  && bash # 关闭swap
swapoff -a  # 临时
sed -ri 's/.*swap.*/#&/' /etc/fstab    # 永久

3、配置免密传输

ssh-keygen  #一路回车,不输入密码
ssh-copy-id node
ssh-copy-id master

4、修改内核参数

modprobe br_netfilter
vim /etc/sysctl.d/k8s.conf # 输入如下内容:net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1# 刷新内核参数
sysctl -p /etc/sysctl.d/k8s.conf

5、配置yum源

# 配置docker源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo## 配置k8s源
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.33/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.33/rpm/repodata/repomd.xml.keyEOF## 清理缓存
yum clear
## 生成缓存
yum makecache 

6、配置时间同步

yum install ntpdate -yntpdate cn.pool.ntp.org## 配置定时任务
crontab -e
* *  * * * /usr/sbin/ntpdate   cn.pool.ntp.org## 重启服务
systemctl restart crond

安装IPVS

yum -y install ipset ipvsadm## 添加IPVS模块# cat > /etc/sysconfig/modules/ipvs.modules << EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack
EOF## 检查加载情况:
lsmod | grep ip_vs## 加载IPVS
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack

二、安装docker和 kubenters基础服务

1、安装docker

# 添加yum源 如果安装可以忽略
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
## 刷新yum源缓存
yum makecache ## 安装docker-ce
yum -y install docker-ce## 启动docker并设置开机启动
systemctl  enable  --now docker

2、配置加速器

## 在/etc/docker/daemon.json添加如下内容
cat  > /etc/docker/daemon.json  << EOF
{"registry-mirrors":["https://a88uijg4.mirror.aliyuncs.com","https://docker.lmirror.top","https://docker.m.daocloud.io", "https://hub.uuuadc.top","https://docker.anyhub.us.kg","https://dockerhub.jobcher.com","https://dockerhub.icu","https://docker.ckyl.me","https://docker.awsl9527.cn","https://docker.laoex.link"],
"insecure-registries":["192.168.40.62","harbor"]
} EOF
## 重新加载服务,并重启docker
systemctl  daemon-reload ; systemctl restart docker

3、安装cri-docker

##下载cri-dockerd的rpm包
https://github.com/mirantis/cri-dockerd/releases/download/v0.3.8/cri-dockerd-0.3.8-3.e17.x86_64.rpm## 下载cri-dockerd的tar包
# 下载安装2 
$ wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.10/cri-dockerd-0.3.10.amd64.tgz$ tar -xf cri-dockerd-0.3.1.amd64.tgz
$ cp cri-dockerd/cri-dockerd /usr/bin/
$ chmod +x /usr/bin/cri-dockerd###安装cri-dockerd
yum -y install  cri-dockerd-0.3.8-3.el7.x86_64.rpm 

4、cri-docker配置文件

vim /usr/lib/systemd/system/cri-docker.service
## 修改第10行
10 ExecStart=/usr/bin/cri-dockerd  --pod-infra-container-image=registry.k8s.io/pause:3.9  --container-runtime-endpoint fd://## 二进制安装需要手动添加配置文件
cat /usr/lib/systemd/system/cri-docker.service
[Unit]
Description=CRI Interface for Docker Application Container Engine
Documentation=https://docs.mirantis.com
After=network-online.target firewalld.service docker.service
Wants=network-online.target
Requires=cri-docker.socket[Service]
Type=notify
ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --network-plugin=cni --cni-bin-dir=/opt/cni/bin --cni-cache-dir=/var/lib/cni/cache --cni-conf-dir=/etc/cni/net.d --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.9
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=alwaysStartLimitBurst=3
StartLimitInterval=60sLimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinityTasksMax=infinity
Delegate=yes
KillMode=process[Install]
WantedBy=multi-user.target
# 这里的参数 `--pod-infra-container-image`,这个值要根据实际情况调整,如果你的安装环境不能访问互联网,那你就需要配置为内部镜像仓库。## 创建一个 socket 文件以便 kubelet 与 cri-dockerd 通信cat <<"EOF" > /usr/lib/systemd/system/cri-docker.socket
[Unit]
Description=CRI Docker Socket for the API
PartOf=cri-docker.service[Socket]
ListenStream=%t/cri-dockerd.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker[Install]
WantedBy=sockets.target
EOF## 启动服务,并设定为开机自启动
systemctl daemon-reload ; systemctl enable --now cri-docker

5、安装k8s必备的组件

## 如果配置请忽略
cat <<EOF | tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.33/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.33/rpm/repodata/repomd.xml.key
EOF## master节点和node节点需要安装
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet && systemctl start kubeletps: 由于官网未开放同步方式, 可能会有索引gpg检查失败的情况, 这时请用 yum install -y --nogpgcheck kubelet kubeadm kubectl 安装

三、初始化集群

1、使用配置文件初始化

## 生成初始化文件:
kubeadm config print init-defaults > kubeadm.yaml

2、修改初始化文件

[root@mster ~]# cat kubeadm.yaml apiVersion: kubeadm.k8s.io/v1beta4
bootstrapTokens:
- groups:- system:bootstrappers:kubeadm:default-node-tokentoken: abcdef.0123456789abcdefttl: 24h0m0susages:- signing- authentication
kind: InitConfiguration
localAPIEndpoint:advertiseAddress: 192.168.1.100  ##修改成master节点bindPort: 6443
nodeRegistration:criSocket: unix:///var/run/cri-dockerd.sock  ## 修改成cri-docker引擎imagePullPolicy: IfNotPresentimagePullSerial: truename: master  ## 修改为master节点标识taints: null
timeouts:controlPlaneComponentHealthCheck: 4m0sdiscovery: 5m0setcdAPICall: 2m0skubeletHealthCheck: 4m0skubernetesAPICall: 1m0stlsBootstrap: 5m0supgradeManifests: 5m0s
---
apiServer: {}
apiVersion: kubeadm.k8s.io/v1beta4
caCertificateValidityPeriod: 87600h0m0s
certificateValidityPeriod: 8760h0m0s
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns: {}
encryptionAlgorithm: RSA-2048
etcd:local:dataDir: /var/lib/etcd
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers  ## 这个是换成阿里云的镜像地址
kind: ClusterConfiguration
kubernetesVersion: 1.33.0
networking:dnsDomain: cluster.localpodSubnet: 10.244.0.0/16  ## pod的IP段serviceSubnet: 10.96.0.0/12 ## service的IP段
proxy: {}
scheduler: {}
---  ## 添加下面几行 添加ipvs模式,
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: ipvs
---  ##初始化节点的时候需要指定cgroupDriver为
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
cgroupDriver: systemd

3、初始化

## 查看需要哪些镜像
kubeadm config images list --kubernetes-version=1.31.3 --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers## 根据配置文件初始化
kubeadm init --config=kubeadm.yaml --ignore-preflight-errors=SystemVerification

在这里插入图片描述

4、node节点加入集群

## 查看token
kubeadm token create --print-join-command## 加入集群(比如)
kubeadm join 192.168.40.180:6443 --token vulvta.9ns7da3saibv4pg1     --discovery-token-ca-cert-hash sha256:72a0896e27521244850b8f1c3b600087292c2d10f2565adb56381f1f4ba7057a   --cri-socket=unix:///var/run/cri-dockerd.sock## master节点查看
kubectl get node 

四、安装网络组件:caclio

## 下载地址
wget https://docs.projectcalico.org/manifests/calico.yaml## 修改配置
下载完后还需要修改里面定义Pod网络(CALICO_IPV4POOL_CIDR),与前面kubeadm init的 --pod-network-cidr指定的一样。## 测试
kubectl apply -f calico.yaml
kubectl get pods -n kube-system ## 所有pod是running状态
kubectl get node ## 所有node是Ready状态

五、测试集群

kubectl  run bs  --image=busybox:1.28.4 -- sleep 24h
kubectl get pod 
kubectl exec -it bs -- sh 
ping www.baidu.com 
nslookup  kubernetes.default.svc.cluster.local

在这里插入图片描述

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

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

相关文章

【IPMV】图像处理与机器视觉:Lec8 Image Pyramid 图像金字塔

【IPMV】图像处理与机器视觉 本系列为2025年同济大学自动化专业**图像处理与机器视觉**课程笔记 Lecturer: Rui Fan、Yanchao Dong Lec0 Course Description Lec3 Perspective Transformation Lec7 Image Filtering Lec8 Image Pyramid 持续更新中 文章目录 【IPMV】图像处…

产品经理.产品设计.产品设计工具

一、 产品经理常用工具 1. 业务流程图---系统流程图 业务流程图&#xff0c;面向用户调研&#xff0c;描述业务的流转和数据的处理要求&#xff0c;跟用户和业务方确认&#xff1b;---业务角色的泳道流程图。 系统流程图&#xff0c;面向产品需求设计&#xff0c; prd系描述各…

6轴、智能、低功耗惯性测量单元BMI270及其OIS接口

BOSCH惯性传感器IMUs 芯片代码 通过00寄存器读回的芯片编码可以判断芯片型号,BMI270为(0x24) &#xff0c;如不是该值&#xff0c;则说明不是BMI270。 型号芯片代码BMI085CHIP_ID ( 0x1F)BMI088CHIP_ID ( 0x1E)BMI160CHIP_ID (0xD1)BMI270CHIP_ID (0x24)BMI323CHIP_ID (0x004…

【文献速递】邻位连接技术(PLA)在细胞器相互作用中的应用

在神经科学研究领域&#xff0c;细胞死亡机制一直是关注的重点&#xff0c;尤其是与神经退行性疾病相关的细胞死亡形式。荷兰格罗宁根大学的研究人员在2025年发表了“Regulation of calcium signaling prevents neuronal death mediated by NIST DEP in xenoferroptotic cell d…

六.割草机技术总结--6.RTK定位精度分析

六.割草机技术总结–6.RTK定位精度分析 6.1 1cm+1ppm 中的ppm是什么意思? 精度 RTK 位置精度(在 RTK 时)1 cm + 1 ppm ( 水 平 ) 1 . 5 cm + 1 ppm ( 垂 直 ),其中的ppm是什么意思? 在RTK(实时动态定位)技术中,ppm表示 Parts Per Million(百万分之一),是一种与距离…

MCP的基础知识

一、了解MCP的基础知识 1.函数调用Function Calling Function Calling是openai在2023年推出的一个非常重要的概念&#xff1a;Function Calling&#xff08;函数调用&#xff09;本质上就是提供了大模型与外部系统的交互能力&#xff0c;类似于给大模型安装了一个“外挂工具箱…

量化交易之数学与统计学基础2.4——线性代数与矩阵运算 | 矩阵分解

量化交易之数学与统计学基础2.4——线性代数与矩阵运算 | 矩阵分解 第二部分&#xff1a;线性代数与矩阵运算 第4节&#xff1a;矩阵分解&#xff1a;奇异值分解&#xff08;SVD&#xff09;在数据压缩和风险分解的应用 一、奇异值分解&#xff08;SVD&#xff09;基础&#xf…

极简主义在 UI 设计中的应用与实践:打造简洁高效界面

极简主义理念&#xff1a;简洁不简单​ 极简主义起源于 20 世纪初的包豪斯运动&#xff0c;它不仅是一种设计风格&#xff0c;更代表着一种生活态度与价值观。其核心理念 “少即是多”&#xff0c;并非简单地削减元素&#xff0c;而是在精简中追求极致&#xff0c;将设计简化到…

2025年“深圳杯”数学建模挑战赛C题-分布式能源接入配电网的风险分析

布式能源接入配电网的风险分析 小驴数模 背景知识&#xff1a; 随着我国双碳目标的推进&#xff0c;可再生分布式能源在配电网中的大规模应用不可避免&#xff0c;这对传统配电网运行提出挑战。为了量化分析配电网中接入分布式能源的风险&#xff0c;需要对其进行建模与分析…

《解锁LibTorch:开启C++深度学习新征程》

《解锁LibTorch:开启C++深度学习新征程》 深度学习与 LibTorch 在当今数字化时代,深度学习已成为人工智能领域的核心驱动力,广泛应用于计算机视觉、自然语言处理、语音识别等诸多领域,深刻改变着我们的生活和工作方式。它的发展历程充满了创新与突破,从最初的理论探索到如…

理想药用植物的特征综述-理想中药材”的系统定义-文献精读125

Decoding and designing: Promising routes to tailor-made herbs 解码与设计&#xff1a;定制化草药的潜力路径 摘要 理想药用植物的特征可归纳为高次生代谢产物含量、高抗逆性、理想的形态以及高产量。本研究提出了两种策略&#xff0c;用于解析中药活性成分的生物合成与质…

如何在Dify沙盒中安装运行pandas、numpy

如何在Dify沙盒中安装运行pandas、numpy 1. 创建python-requirements.txt文件2. 创建config.yaml文件3. 重启 docker-sandbox-14. 为什么要这样改的一些代码解析&#xff08;Youtube视频截图&#xff09; 1. 创建python-requirements.txt文件 在 Dify 的 Docker 目录下面&…

深度卷积模型:案例研究

1 为什么要进行案例研究&#xff1f; 过去&#xff0c;计算机视觉中的大量研究都集中在如何将卷积层、池化层以及全连接层这些基本组件组合起来&#xff0c;形成有效的卷积神经网络。 找感觉的最好方法之一就是去看一些示例&#xff0c;就像很多人通过看别人的代码来学习编程一…

RabbitMQ Linux 安装教程详解

RabbitMQ Linux 安装教程详解 在 Linux 系统上安装 RabbitMQ 并确保其稳定运行&#xff0c;对于构建可靠的分布式消息系统至关重要。本文将详细介绍如何在 Linux 系统上安装 RabbitMQ&#xff0c;并提供关键的注意事项&#xff0c;帮助您避免常见的坑点&#xff0c;确保安装过…

Godot笔记:入门索引

文章目录 前言游戏引擎软件界面关键概念GDScript导出成品创建非游戏应用后记 前言 最近对游戏引擎这块感兴趣&#xff0c;特别是因为游戏引擎自带的很多工具&#xff0c;作为图形化软件的开发应该也不错。 Godot 是一款这几年比较流行的开源游戏引擎。这里记录下入门学习使用 …

[C语言]猜数字游戏

文章目录 一、游戏思路揭秘二、随机数生成大法1、初探随机数&#xff1a;rand函数的魔力2、随机数种子&#xff1a;时间的魔法3、抓住时间的精髓&#xff1a;time函数 三、完善程序四、游戏成果1、游戏效果2、源代码 一、游戏思路揭秘 猜数字游戏&#xff0c;这个听起来就让人…

LeetCode392_判断子序列

LeetCode392_判断子序列 标签&#xff1a;#双指针 #字符串 #动态规划Ⅰ. 题目Ⅱ. 示例 0. 个人方法官方题解一&#xff1a;双指针官方题解二&#xff1a;动态规划 标签&#xff1a;#双指针 #字符串 #动态规划 Ⅰ. 题目 给定字符串 s 和 t &#xff0c;判断 s 是否为 t 的子序…

Python匿名函数与内置函数较难与较冷门知识点考前速记

5 lambda匿名函数与Python内置函数 lambda 函数通常用于编写简单的、单行的函数,通常在需要函数作为参数传递的情况下使用,例如在 map()、filter()、sorted()、list.sort() 等函数与方法中。 lambda语法格式: lambda arguments: expression lambda是 Python 的关键字,用…

DeepSeek谈《凤凰项目 一个IT运维的传奇故事》

《凤凰项目&#xff1a;一个IT运维的传奇故事》&#xff08;The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win&#xff09;是Gene Kim、Kevin Behr和George Spafford合著的一部小说&#xff0c;通过虚构的故事生动展现了IT运维中的核心挑战和Dev…

【上海大学数据库原理实验报告】MySQL基础操作

实验目的 熟悉MySQL基础操作。 实验内容 创建四张工程项目的关系表。 图 1 四张工程项目关系表的结构 检索供应零件编号为J1的工程的供应商编号SNO。检索供应零件给工程J1&#xff0c;且零件编号为P1的供应商编号SNO。查询没有正余额的工程编号、名称及城市&#xff0c;结果…