k8s中kubeSphere的安装使用+阿里云私有镜像仓库配置完整步骤

article/2025/9/6 15:08:13

一、实验目的

1、掌握kubeSphere 的安装部署

2、掌握kubesphere 使用外部镜像仓库;

2、熟悉图像化部署任务:产生pod---定义服务--验证访问

本次实验旨在通过 KubeSphere 平台部署基于自定义镜像(nginx:1.26.0 )的有状态副本集,以实现 Nginx 服务的容器化部署与管理,熟悉 KubeSphere 中工作负载创建、镜像拉取、资源配置等操作流程,验证 Nginx 服务在容器环境下的正常运行及外部可访问性。

实验环境

  • 集群环境:KubeSphere 容器平台,具备多个节点组成的 Kubernetes 集群,节点运行正常且网络连通性良好。

  • 镜像仓库:阿里云容器镜像服务,已将 nginx:1.26.0 镜像推送至私有仓库 crpi-6t100g2gal8ziki7.cn-hangzhou.personal.cr.aliyuncs.com/aliyun230166/apps 。

  • 操作终端:在具备 kubectl 工具且能连接到 KubeSphere 集群的环境中执行命令,同时使用 KubeSphere 控制台进行可视化操作。

二、实验内容

配置步骤

1.安装依赖项

# 安装必要工具

sudo yum install -y socat conntrack ebtables ipset

# 使用官方脚本安装 Helm3

curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

如果安装不了,看是不是因为污点的问题报错如上,如果是可以使用下面的命令移除污点

kubectl taint nodes master node-role.kubernetes.io/control-plane:NoSchedule-

安装 KubeSphere Core(可能需要等待久一点,出现下面的页面即可)

helm upgrade --install -n kubesphere-system --create-namespace ks-core \

  https://charts.kubesphere.io/main/ks-core-1.1.4.tgz --debug --wait \

  --set global.imageRegistry=swr.cn-southwest-2.myhuaweicloud.com/ks \

  --set extension.imageRegistry=swr.cn-southwest-2.myhuaweicloud.com/ks

#验证安装

kubectl get pods -n kubesphere-system -w

kubectl get svc -n kubesphere-system ks-console

#卸载方式

为避免数据丢失,请提前备份所有重要数据。
操作步骤
执行以下命令卸载 KubeSphere。

helm -n kubesphere-system uninstall ks-core

2. 访问 KubeSphere 控制台

访问 KubeSphere 控制台

开启端口转发(本地访问)

kubectl port-forward --address 0.0.0.0 -n kubesphere-system svc/ks-console 8080:80

访问地址:http://10.1.1.85:8080

默认账号密码:admin/P@88w0rd

如果登录不了可能是因为进行端口转发时停止了命令,或者浏览器缓存问题,可以通过快捷键shift+ctrl+delete进行删除浏览记录。

初次登录会让你修改密码,根据提示修改密码

登录成功如下:

报错补充:

如果一直登录不了或者刷新页面不了,可能是因为停止了端口转发

确认端口转发正常运行

  • 检查kubectl port-forward命令是否仍在运行,若已停止需重新执行:
  • kubectl port-forward --address 0.0.0.0 -n kubesphere-system svc/ks-console 8080:80
  • netstat -tulpn | grep 8080 # 应看到类似输出:tcp 0 0 0.0.0.0:8080 ... kubectl
  • kill -9 21006  #杀死旧进程
  • netstat -tulpn | grep 8080 #确认是否杀死,释放端口,再执行开放端口命令
  • kubectl port-forward --address 0.0.0.0 -n kubesphere-system svc/ks-console 8080:80

3.配置私有镜像仓库(以阿里云为例)

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台当kubesphere自带的镜像地址不能获取镜像时,就需要用自建的镜像仓库地址或阿里镜像仓库地址。

(1)点击链接登录阿里云,进入以下界面

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

进入控制台进行实名认证

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

(2)点击上述链接,进入容器镜像服务创建个人版实例

(3)个人实例配置

设置Registry登录密码

(4)创建命名空间(全网独一无二,个人版命名空间最多可创建3个)

(5)设置访问凭证(点击访问凭证然后点击设置固定密码)

(6)创建镜像仓库

创建成功效果如下

(7)私仓使用

使用docker拉取镜像

docker pull nginx:1.26.0

使用docker images查看

虚拟机登录私有仓库

docker login --username=nick7182281059 crpi-6t100g2gal8ziki7.cn-hangzhou.personal.cr.aliyuncs.com

输入私仓密码,出现“Login Succeeded”表示登录成功,如果报错可能是网络的问题。

为nginx:1.26.0打标签

# 使用镜像ID添加标签(推荐方式)

docker tag 94543a6c1aef crpi-6t100g2gal8ziki7.cn-hangzhou.personal.cr.aliyuncs.com/aliyun230166/apps:nginx-1.26.0

# 或者使用镜像名添加标签 docker tag nginx:1.26.0 crpi-6t100g2gal8ziki7.cn-hangzhou.personal.cr.aliyuncs.com/aliyun230166/apps:nginx-1.26.0

推送镜像至阿里云容器镜像服务

# 先登录阿里云容器镜像服务(如果未登录)

docker login --username=nick7182281059 crpi-6t100g2gal8ziki7.cn-hangzhou.personal.cr.aliyuncs.com

# 推送镜像 docker push crpi-6t100g2gal8ziki7.cn-hangzhou.personal.cr.aliyuncs.com/aliyun230166/apps:nginx-1.26.0

在阿里云镜像仓库apps里面查看

从阿里云私有仓库拉取镜像

# 删除nginx:1.26.0

docker rmi nginx:1.26.0

# 拉取镜像(使用完整的仓库路径和标签)

docker pull crpi-6t100g2gal8ziki7.cn-hangzhou.personal.cr.aliyuncs.com/aliyun230166/apps:nginx-1.26.0

# 验证拉取

docker images | grep nginx

# 应看到类似输出: # crpi-6t100g2gal8ziki7.cn-hangzhou.personal.cr.aliyuncs.com/aliyun230166/apps nginx-1.26.0 94543a6c1aef 12 months ago 188MB

4.应用部署

(1)准备工作:

有两种方式创建密钥

使用命令:已创建镜像拉取密钥

kubectl create secret docker-registry aliyun-registry \--docker-server=crpi-6t100g2gal8ziki7.cn-hangzhou.personal.cr.aliyuncs.com \--docker-username=nick7182281059 \--docker-password=@Hn230166 \-n default# 进行验证
kubectl get secrets -n default | grep aliyun-registry
# 应看到类似输出:
# aliyun-registry    kubernetes.io/dockerconfigjson   1      5m

或者可以选择页面创建保密字典,二选一即可

填写名称(如 aliyun-registry )

选择项目(如 default 项目 )

数据设置(选择镜像服务信息)

下面这个地址就是镜像服务地址

(2)在 KubeSphere 控制台配置镜像仓库

创建有状态副本集

基本信息

名称: nginx-demo
别名:nginx-hn,可根据需要填写,也可留空。
项目: default
描述:可按需填写对该部署的描述信息,也可留空。

点击下一步。

注意这个查找的目录:

阿里云的命名空间/仓库名称:镜像版本

容器和服务的端口都写80

测试环境存储设置可以不搞,直接下一步就好

创建成功效果图

三、实验结论

1.KubeSphere 优势:

提供图形化界面,简化 Kubernetes 集群管理。

支持多租户和扩展组件,适合企业级应用场景。

2.挑战与改进:

初始安装需严格满足环境要求(如端口开放、依赖项安装)。

私有镜像仓库配置需注意权限和镜像命名规则。

部署成功验证:通过一系列配置和操作,成功在 KubeSphere 平台上创建了基于自定义 Nginx 镜像的有状态副本集,并关联相应服务,实现了 Nginx 服务的容器化部署。在浏览器或使用 curl 命令访问指定地址时,能够看到 Nginx 欢迎页面,表明 Nginx 服务正常运行,达到了实验预期目的。

关键要点总结

镜像拉取密钥:正确创建并关联镜像拉取密钥是从私有镜像仓库成功拉取镜像的关键,否则会出现 “找不到镜像” 等错误。

资源配置:合理设置容器资源配额(CPU 和内存 )、健康检查等高级设置项,有助于保障服务的稳定运行和可靠性。

网络与权限:确保集群节点与镜像仓库的网络连通性,以及账号在镜像仓库具备拉取权限,是顺利完成部署的重要前提。


http://www.hkcw.cn/article/QCCOYwPPdo.shtml

相关文章

innovus: write_lef_abstract如何写入stripe信息

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 block level需要把pg 信息写到lef里,方便top level查看,这里提供一种简单方法: write_lef_abstract -5.8 -PGPinLayers {ME5 ME6 ME7 ME8 AL_RDL} -str…

MySQL索引与事物

目录 一:MySQL索引介绍 1.索引概述 2.索引作用 3.索引的分类 关键区别 (1)普通索引 (2)唯一索引 (3)主键索引 (4)组合索引(最左前缀) 4.全文索引&am…

光年号,国外云手机号的创新应用与发展趋势

光年号,国外云手机号的创新应用与发展趋势 光年号作为新兴通信技术代表,与国外云手机号结合,推动通信变革。光年号的灵活性提升了国外云手机号的使用效率,光年号服务正在全球扩展,光年号和国外云手机号的融合创新&…

Java开发经验——阿里巴巴编码规范实践解析7

摘要 本文主要解析了阿里巴巴 Java 开发中的 SQL 编码规范,涉及 SQL 查询优化、索引建立、字符集选择、分页查询处理、外键与存储过程的使用等多个方面,旨在帮助开发者提高代码质量和数据库操作性能,避免常见错误和性能陷阱。 1. 【强制】业…

【经验】Ubuntu中设置terminator的滚动行数、从Virtualbox复制到Windows时每行后多一空行

1、设置terminator的滚动行数 1.1 问题描述 在终端 terminator 中,调试程序时,只能查看有限行数的打印日志,大约是500行,怎么能增加行数 1.2 解决方法 1)安装terminator sudo apt install terminator和 terminato…

Photoshop2025(PS2025)软件及安装教程

在数字图像编辑领域,Adobe Photoshop 一直是无可争议的王者。如今,Photoshop 2025 重磅登场,再次为我们带来了惊喜与变革,进一步巩固了它在行业中的领先地位。 Photoshop 2025 在人工智能方面的升级令人瞩目。其全新的 “Magic Se…

NHANES指标推荐:UAR

文章题目:The Uric Acid to Albumin Ratio Predicts All-cause and Cardiovascular Mortality Among U.S. Adults Results from the National Health and Nutrition Examination Survey in 2003-2018 中文标题:尿酸与白蛋白比值可预测美国成年人的全因死…

C++23 std::fstreams基础回顾

文章目录 引言1.1 std::fstreams概述1.2 std::fstreams的主要功能和常用操作 2. 独占模式 (P2467R1) 的详细介绍2.1 独占模式的定义和背景2.2 独占模式的作用和优势 3. C23 std::fstreams支持独占模式 (P2467R1) 的具体实现方式3.1 代码示例3.2 实现步骤解释 4. 使用该特性可能…

Unity3D仿星露谷物语开发55之保存游戏到文件

1、目标 将游戏保存到文件,并从文件中加载游戏。 Player在游戏中种植的Crop,我们希望保存到文件中,当游戏重新加载时Crop的GridProperty数据仍然存在。这次主要实现保存地面属性(GridProperties)信息。 我们要做的是…

Windows 中禁止在桌面放置文件以保持桌面整洁

假设用户名为xxx,进入文件夹C:\Users\xxx,选中该文件夹下桌面文件夹并单击右键选择属性。 点击编辑。 选中用户xxx并将其写入权限设置为拒绝。随后桌面在无法主动授权情况下无法新建文件或者文件夹(设置权限之前可以先将桌面文件移动到别处&…

STM32开发全解析:从环境搭建到项目实战的技术文档撰写指南

在嵌入式开发领域,STM32系列微控制器凭借高性能、低功耗及丰富外设等特性,成为工程师的首选平台。本文以STM32F103C8T6为例,结合技术文档撰写规范,系统拆解从基础知识、开发环境到实战项目的全流程,为STM32技术传播提供…

AI数字人系统开发——引领未来交互革命

随着人工智能技术的不断发展,AI数字人系统开发正引领着一场前所未有的交互革命。它将打破传统的人机交互方式,为我们带来更加自然、智能、高效的交互体验。 我们的AI数字人系统开发,融合了多种先进的技术,如计算机视觉、语音识别…

tryhackme——Data Exfiltration

文章目录 一、网络拓扑二、数据泄露分类2.1 传统数据泄露2.2 C2通信2.3 隧道 三、隧道3.1 Exfiltration using TCP socket3.2 Exfiltration using SSH3.3 Exfiltrate using HTTP(S)HTTP隧道 3.4 Exfiltration using ICMP3.4.1 ICMP数据包结构3.4.2 MSF实现ICMP数据泄露3.4.3 IC…

计算机毕业设计酒店后台管理系统(vue+springboot+mysql+开题+论文)

摘要: 本文将介绍一个基于Vue.js、Spring Boot和MySQL的酒店后台管理系统毕业设计项目。该项目旨在为酒店提供高效、便捷、安全的管理平台,实现客房管理、订单管理、客户管理、员工管理等功能。本文将涵盖项目背景、技术选型、系统架构、功能模块、数据库…

华为OD机试真题——告警抑制(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现

2025 A卷 100分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分…

LabVIEW旋转机械智能监测诊断系统

采用 LabVIEW 开发旋转机械智能监测与故障诊断系统,通过集品牌硬件与先进信号处理技术,实现旋转机械振动信号的实时采集、分析及故障预警。系统突破传统监测手段的局限性,解决了复杂工业环境下信号干扰强、故障特征提取难等问题,为…

学习路之PHP--easyswoole简易增删改查入门

这里写目录标题 0、安装orm插件一、创建数据库二、创建模型三、 0、安装orm插件 composer require easyswoole/orm一、创建数据库 表: CREATE TABLE cases (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键,title varchar(200) CHARACTER SET utf8 COLLATE utf…

C++通用日志模块

概述 在 C 项目中开发时经常需要日志模块,为了不引入其它第三方日志模块包的基础上,基于标准的 C17 的基础自己封装了一个日志模块 功能总结 日志分等级(DEBUG / INFO / WARN / ERROR)支持日志文件轮转,自动备份旧日…

Arbitrum Stylus 合约实战 :Rust 实现 ERC20

在《Arbitrum Stylus 深入解析与 Rust 合约部署实战》篇中,我们深入探讨了 Arbitrum Stylus 的核心技术架构,包括其 MultiVM 机制、Rust 合约开发环境搭建,以及通过 cargo stylus 实现简单计数器合约的部署与测试。Stylus 作为 Arbitrum Nitr…

ADQ36-2通道2.5G,4通道5G采样PXIE

ADQ36是一款高端12位四通道灵活数据采集板,针对高通道数科学应用进行了优化。ADQ36具有以下特性: 4 / 2模拟输入通道每通道2.5 / 5 GSPS7gb/秒的持续数据传输速率两个外部触发器通用输入/输出(GPIO)ADQ36数字化仪包括固件FWDAQ ADQ36简介 特…