news 2026/8/25 14:04:09

Rockylinux 与 K8s 的安装

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Rockylinux 与 K8s 的安装

这里写目录标题

  • 1 RockyLinux 的下载安装
    • 1.1 RochyLinux 的下载
    • 1.2 创建虚拟机
    • 1.3 RockyLinux 的安装
    • 1.4 使用 Xshell 链接虚拟机
    • 1.5 安装两台工作节点
    • 1.6 系统配置
      • (1)基本配置
      • (2)替换源镜像
      • (3)安装必备工具
      • (4)系统升级和内核升级
    • 1.7 虚拟机拍快照
  • 2 K8s 的安装
    • 2.1 Runtime 的安装
    • 2.2 K8s 的安装
    • 2.3 K8s 必备组件的安装
    • 2.4 图形化界面的使用
      • (1)Dashboard
      • (2) KRM
    • 2.5 快速上线与删除一个服务

1 RockyLinux 的下载安装

1.1 RochyLinux 的下载

Rocky Linux 是一个开源的企业级操作系统,旨在实现与 Red Hat Enterprise Linux® 100% 的逐个错误兼容。
Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。

我的PC是英特尔,×86结构的,所以选择x86安装包,我想选择稳定一点的版本,所以选 Rocky Linux 9,接着点击修小ISO文件。

下载链接

最好把链接复制到迅雷进行下载,比纯用浏览器下载更快一些。

1.2 创建虚拟机

下载完镜像文件后,接下来是安装,在此之前需要先安装 VMware Workstation,版本要17以后。

安装好 VMware Workstation 后,按照以下步骤创建虚拟机:

点击创建新的虚拟机:

选择“自定义”,然后点击“下一步”:

继续点击下一步:

选择安装所需的镜像文件:

选择稍后安装操作系统:

版本选择 Rochy Linux 64 位(如果没有,可以选择 Red Hat Enterprise Linux 9 64 位):

设置虚拟机名称与位置(若需要,我这里使用默认位置):

处理器的数量保持2:

内存选择4GB

网络类型使用默认的 NAT 模式

SCSI控制使用推荐的 LSI Logic:

磁盘类型也是保持默认就行:

虚拟磁盘选择“创建新虚拟磁盘”,默认就是这个选项:

磁盘容量选择40GB:

点击下一步:

点击完成:

可以看到左边侧边栏有一台新的虚拟机,名称为 k8s-master01,我可以可以点击“编辑虚拟机设置”:

这里可以修改内存大小、处理器数量、磁盘空间等:

这里也可以把USB控制器和声卡删掉,当然,不删也行,这里主要就是演示如何修改硬件配置:

点击"CD/DVD (IDE)",设备状态选择“启动时连接”,然后在“使用ISO映像文件”中,选择我们前面下载的 ISO镜像文件,然后点击确定:

1.3 RockyLinux 的安装

虚拟机创建好后,按下面的步骤安装操作系统:

点击“开启此虚拟机”:

看到下面的界面后,鼠标点进去,然后选择“Install Rocky Linux Minimal 9.8”:

出现下面的界面时,要把语言设置成英文,美版:


配置磁盘:

点击 Custom:


将swap分区去掉:

更新根目录的空间,按下面1234的步骤执行:

此时会出现一个警告,不管它,再点一次 Done:

接下来会跳出一个本次修改的摘要,我们这里点击“Accept Changes”就行了:

接下来会退出安装主界面,我们设置 root 密码:

按下Done之后,可能有警告,我们不管他,继续按 Done:

回到安装主界面之后,接下来是配置网络:

这里看到的 IP 是自动获取的,可能下一次重启就变了,所以需要将其改成静态(下面的IP和DNS需要记住):

按下面123456的顺序,配置网络,IP、网关、DNS都选择和上面截图一样的:

然后修改主机名:

接下来修改时间(如果时区显示的不是上海,则要改成上海,如果是上海,则可以跳过这一步):


回到安装主页面后,点击“Begin Installation”:

安装还是有些漫长的,需要等待一段时间,在等待的过程中,可以按照上面的流程安装其他几个虚拟机,各种设置和上面一样(创建节点时候不要克隆,因为会出现一些未知的问题,这里主要学习K8s,尽快不要在低级错误上浪费时间):

出现下面的界面,说明安装成功,点击 “Reboot System” 重启:

输入用户名(root)和密码(刚刚设的):

1.4 使用 Xshell 链接虚拟机

在虚拟机终端输入 ip a 获取 IP 地址:

打开 Xshell,点击左上角的“新建按钮”:

填写会话名称和主机IP:

在用户身份验证中,填写用户名和密码:

双机我们刚刚新建的会话:

接下来会跳出一个窗口,问题是否接受主机密钥,这里点击“接受并保存”:

看到下面界面,说明连接成功:

如果能看到下面的界面,说明机器能上公网:

1.5 安装两台工作节点

名字分别命名为 k8s-node01 和 k8s-node02 ,只需要在创建虚拟机、安装系统以及Xshell连接虚拟机的过程中,涉及命名的时候写名字即可:


最后的节点情况如下:

1.6 系统配置

(1)基本配置

学习环境不需要有安全组配置,所以可以关闭,swap 分区会导致集群性能下降,所以也需要关闭:

# 关闭防火墙systemctl disable--nowfirewalld systemctl disable--nowdnsmasq# 会报错:Failed to disable unit: Unit file dnsmasq.service does not exist.不用管他# 关闭 SELINUXsetenforce0sed-i's#SELINUX=enforcing#SELINUX=disabled#g'/etc/sysconfig/selinuxsed-i's#SELINUX=enforcing#SELINUX=disabled#g'/etc/selinux/config# 关闭swap分区,如果前面安装系统的时候,把swap分区去掉了,那这一步可以省略swapoff-a&&sysctl-wvm.swappiness=0sed-ri'/^[^#]*swap/s@^@#@'/etc/fstab

可以只复制一次,然后把命令同时贴到多个虚拟机中,只需要提前在 Xshell 打开会话,然后在其中一个会话中右击——发送键输入到所有会话:

后续粘贴命令到这个会话,也会自动复制到其他会话中。

(2)替换源镜像

接下来替换镜像源,因为我们在国内,

sed-e's|^mirrorlist=|#mirrorlist=|g'\-e's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g'\-i.bak\/etc/yum.repos.d/*.repo dnf makecache

(3)安装必备工具

yuminstallwgetjq psmiscvimnet-tools telnet yum-utils device-mapper-persistent-data lvm2git-y

(4)系统升级和内核升级

# 系统升级dnf update-y# 导入 ELERPO keyrpm--importhttps://www.elrepo.org/RPM-GPG-KEY-elrepo.org# 安装 ELERPO 源dnfinstall-yhttps://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm# 升级内核sudodnf--enablerepo=elrepo-kernelinstall-y\kernel-ml\kernel-ml-core\kernel-ml-modules\kernel-ml-modules-extra\kernel-ml-devel# 更改内核的启动顺序,使用最新的内核启动系统grubby --set-default0# 重启reboot

1.7 虚拟机拍快照

配置完成后输入sudo shutdown -h now

拍快照的目的是为了能迅速恢复,假如你后续做了其他设置,下载了很多东西,某天你想清空,想恢复回来,就可以通过快照恢复:

2 K8s 的安装

2.1 Runtime 的安装

# 配置 Docker 源yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 安装 containerdyuminstallcontainerd.io-y# 配置内核cat<<EOF|sudotee/etc/modules-load.d/containerd.confoverlay br_netfilter EOFsudomodprobe overlaysudomodprobe br_netfiltercat<<EOF|sudotee/etc/sysctl.d/99-kubernetes-cri.confnet.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 1 EOFsudosysctl--system

接下来创建 containerd 的配置文件

# 创建配置文件所在目录sudomkdir-p/etc/containerd# 导出默认配置containerd config default|sudotee/etc/containerd/config.toml# 修改默认配置sed-i's#SystemdCgroup = false#SystemdCgroup = true#g'/etc/containerd/config.tomlsed-i's#k8s.gcr.io/pause#registry.cn-hangzhou.aliyuncs.com/google_containers/pause#g'/etc/containerd/config.tomlsed-i's#registry.gcr.io/pause#registry.cn-hangzhou.aliyuncs.com/google_containers/pause#g'/etc/containerd/config.tomlsed-i's#registry.k8s.io/pause#registry.cn-hangzhou.aliyuncs.com/google_containers/pause#g'/etc/containerd/config.toml# 启动Containerdsystemctl daemon-reload systemctlenable--nowcontainerd

在终端输入ctr plugin ls,看看 containerd 是否可用,主要看 overlayfs 和 cri 是否 ok,如果不是 ok,那就问AI:

2.2 K8s 的安装

学习过程中,推荐安装最新版的 K8s,我们可以去官网查询当前最新版本是哪一版:

目前最新的是1.36,那我们就安装1.36的版本,如果最新的版本不是 1.36了,那么下面的命令需要修改版本号:

# 配置 K8s 源cat<<EOF|tee/etc/yum.repos.d/kubernetes.repo[kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.36/rpm/ enabled=1 gpgcheck=1 gpgkey=https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.36/rpm/repodata/repomd.xml.key EOF# 安装 K8syuminstallkubeadm-1.36.* kubelet-1.36.* kubectl-1.36.*-ysystemctlenable--nowkubelet# 这条命令出现报错的话不用管# 查看版本号kubectl version

我的版本是 1.36.4:

接下来是下载镜像,如果小版本号不同,那么下面的命令需要修改小版本号:

# 下载镜像kubeadm config images pull\--image-repository registry.cn-hangzhou.aliyuncs.com/google_containers --kubernetes-version1.36.4# 注意小版本号,另外,如果机器在国外,那么可以把 --image-repository 参数去掉,下面的命令也是如此

接下来是配置主节点:

# K8s 的初始化命令只能在第一个主节点执行,并且只能执行一次,IP地址要改成第一个主节点的IP地址kubeadm init --apiserver-advertise-address192.168.174.129 --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers --cri-socket"unix:///var/run/containerd/containerd.sock"--kubernetes-version1.36.4# 注意小版本号

如果出现下面的界面,说明初始化成功:

上面的界面还会出现配置 kubectl 的命令(橙色框)和添加工作节点的命令(红色框),我们把配置 kubectl 的命令复制下来,输入到主节点:

# 配置 kubectlmkdir-p$HOME/.kubesudocp-i/etc/kubernetes/admin.conf$HOME/.kube/configsudochown$(id-u):$(id-g)$HOME/.kube/config

输入kubectl get node如果显示的是下面的内容,说明配置正确:

接下来是配置工作节点,在前面配置主节点时,会出现添加工作节点的命令(红色框),我们复制下来,在工作点解输入

kubeadmjoin192.168.174.129:6443--tokenc2tu4d.0cdb01wju43q913j\--discovery-token-ca-cert-hash sha256:65f7bb6aa34c0a9dda98b4aa5d5c5c6f2b2665d7486adbaa4031ea8a92a98a44

出现下面的界面,说明添加成功:

在主节点可以输入kubectl get nodes查看各个集群有哪些节点,分别承担什么角色,node 单数复数都可以:

工作节点也可以配置 kubectl ,但不建议,这个命令最好只在主节点配置。

2.3 K8s 必备组件的安装

gitclone https://gitee.com/dukuan/k8s-ha-install.gitcdk8s-ha-install/gitcheckout manual-installation-v1.36.x# 分支版本要和 K8s 版本相对应cdsingle/ kubectl apply-f.

输入kubectl get po -n kube-system查看组件的启动情况,后台启动需要时间,所以如果当前没有启动(即 STATUS 还没到 Running),可以过个几分钟再输入一次:

下面的界面是所有组件都启动后的状态:

接下来输入kubectl get node,可以看到此时各个节点的状态都变成 Ready 了:

使用kubectl top node查看节点资源使用情况:

2.4 图形化界面的使用

(1)Dashboard

# 查看 dashboard 的服务kubectl get svc-nkubernetes-dashboard# 获取 dashboard 的管理员密钥(默认两个小时有效期)kubectl create token admin-user-nkube-system

在浏览器中输入https://192.168.174.129:31233,然后输入token:

如果想延长有效期,可以添加参数 duration:

kubectl create token admin-user-nkube-system--duration=365h

登录进入后是下面的界面:

可以切换命名空间查看 Pods,Pods 是什么先不用管:

(2) KRM

终端输入:kubectl get svc -n krm

80开头,不需要加密,浏览器输入 http://192.168.174.129:32215,账号和密码都是 admin:

登录后是下面的样子:

初学者图形化界面尽量少用,要尽量使用 kubectl,即原生 k8s 操作,因为我们要学的就是这个。

2.5 快速上线与删除一个服务

拿到镜像后,给服务创建一个名字,例如 counter

kubectl create deployment counter--image=registry.cn-beijing.aliyuncs.com/dotbalo/counter:v1

创建了服务后,系统会创建一个 Pod,用来管理容器,可以通过kubectl get po查询。

查询:

kubectl get deployment# 或者 kubectl get deploy


暴露服务,让集群外的机器也能访问到:

kubectl expose deployment counter--port80--typeNodePort

查看服务:kubectl get svc

可以在集群外,通过http://192.168.174.129:31779访问服务。


编辑:

kubectl delete deploy counter

删除:

kubectl delete deploy counter

出现下面界面,说明成功删除:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/25 14:03:31

光伏扩张与生态监测:巡检机器人的环境价值与运维方案

光伏装机向大型基地、荒漠戈壁、山地丘陵和“光伏农业”“光伏生态修复”复合场景扩张后&#xff0c;运维对象已经从单纯的组件阵列扩展为光伏设备、输变电设施、防火通道、围栏边界、鸟类活动、植被恢复和施工扰动等复合体系。对政企采购决策者、国企技改负责人和行业工程师而…

作者头像 李华
网站建设 2026/8/25 14:01:05

同样是铝件清洗,为什么别人能过72小时盐雾,你却发黑起斑?

同样是铝件清洗&#xff0c;为什么别人能过72小时盐雾&#xff0c;你却发黑起斑&#xff1f; 原因&#xff1a;铝件清洗切忌盲目使用通用强碱清洗剂&#xff0c;型材铝、压铸铝需区分选型&#xff0c;匹配材质的清洗剂&#xff0c;才是解决发黑、腐蚀、盐雾不合格的核心关键。 …

作者头像 李华
网站建设 2026/8/25 14:00:48

2026年武汉市初级职称(助理职称)认定条件+认定材料

2026年武汉市初级职称认定条件&#xff1a; 1.理工类或建筑工程相关专业硕士研究生毕业或取得双学士学位后&#xff0c;从事本专业技术工作&#xff0c;当年内经考核评审确认2.理工类或建筑工程相关专业大学本科毕业后&#xff0c;从事本专业技术工作1年以上&#xff0c;经考核…

作者头像 李华
网站建设 2026/8/25 13:59:52

蓝牙APP互联|高端智能充电宝拓展方案

中微半导高端蓝牙充电宝方案CMS32W41xCMS24AD2304蓝牙与手机APP互联互动专为高端、智能化充电宝设计CMS32F040核心优势主频高达72MHz内置128KB Flash和16KB SRAM提供32~48脚封装内置PD/QC模块支持快充支持驱动TFT屏或段码LCD屏CMS32W41x核心优势内置高达512KB Flash和56KB SRAM…

作者头像 李华
网站建设 2026/8/25 13:51:22

实用工具分享--天若ocr(文字识别工具)

下载地址 夸克网盘&#xff08;天若ocr&#xff09; 介绍 天若OCR是一款运行在Windows和macOS平台上的图片文字识别&#xff08;OCR&#xff09;工具 它的核心功能是通过光学字符识别技术&#xff0c;将图片、扫描件、PDF或屏幕上的不可复制文字快速提取为可编辑的文本 使…

作者头像 李华
网站建设 2026/8/25 13:50:51

260824-8 个 AI 智能体一起干活,结果全部失败—— AI 热点 20 条

&#x1f4c5; AI 晨报 2026 年 8 月 24 日&#xff08;每版块 Top 5&#xff09; 本日报共收录 20 条 AI 资讯&#xff0c;涵盖产品发布/更新、行业动态、论文研究、技巧与观点四大版块&#xff0c;每版块精选最新 5 条。 产品发布/更新 1. 大咖机器人 DaxAI 展示骐骥系列四…

作者头像 李华