k8s中kubeSphere的安装使用+阿里云私有镜像仓库配置完整步骤
一、实验目的
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 #卸载方式 为避免数据丢失,请提前备份所有重要数据。 |
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进行删除浏览记录。 初次登录会让你修改密码,根据提示修改密码 登录成功如下: 报错补充: 如果一直登录不了或者刷新页面不了,可能是因为停止了端口转发 确认端口转发正常运行
|
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)准备工作: 有两种方式创建密钥 使用命令:已创建镜像拉取密钥 或者可以选择页面创建保密字典,二选一即可 填写名称(如 选择项目(如 数据设置(选择镜像服务信息) 下面这个地址就是镜像服务地址 (2)在 KubeSphere 控制台配置镜像仓库 创建有状态副本集 基本信息 名称: nginx-demo 点击下一步。 注意这个查找的目录: 阿里云的命名空间/仓库名称:镜像版本 容器和服务的端口都写80 测试环境存储设置可以不搞,直接下一步就好 创建成功效果图 |
三、实验结论
1.KubeSphere 优势:
提供图形化界面,简化 Kubernetes 集群管理。
支持多租户和扩展组件,适合企业级应用场景。
2.挑战与改进:
初始安装需严格满足环境要求(如端口开放、依赖项安装)。
私有镜像仓库配置需注意权限和镜像命名规则。
部署成功验证:通过一系列配置和操作,成功在 KubeSphere 平台上创建了基于自定义 Nginx 镜像的有状态副本集,并关联相应服务,实现了 Nginx 服务的容器化部署。在浏览器或使用 curl
命令访问指定地址时,能够看到 Nginx 欢迎页面,表明 Nginx 服务正常运行,达到了实验预期目的。
关键要点总结:
镜像拉取密钥:正确创建并关联镜像拉取密钥是从私有镜像仓库成功拉取镜像的关键,否则会出现 “找不到镜像” 等错误。
资源配置:合理设置容器资源配额(CPU 和内存 )、健康检查等高级设置项,有助于保障服务的稳定运行和可靠性。
网络与权限:确保集群节点与镜像仓库的网络连通性,以及账号在镜像仓库具备拉取权限,是顺利完成部署的重要前提。
相关文章:

k8s中kubeSphere的安装使用+阿里云私有镜像仓库配置完整步骤
一、实验目的 1、掌握kubeSphere 的安装部署 2、掌握kubesphere 使用外部镜像仓库; 2、熟悉图像化部署任务:产生pod---定义服务--验证访问 本次实验旨在通过 KubeSphere 平台部署基于自定义镜像(nginx:1.26.0 )的有状态副本集…...

Agilent安捷伦Cary3500 UV vis光谱仪Cary60分光光度计Cary1003004000500060007000 UV visible
Agilent安捷伦Cary3500 UV vis光谱仪Cary60分光光度计Cary1003004000500060007000 UV visible...
JSON解析性能优化全攻略:协程调度器选择与线程池饥饿解决方案
简介 JSON解析是现代应用开发中的基础操作,但在使用协程处理时,若调度器选择不当,会导致性能严重下降。特别是当使用Dispatchers.IO处理JSON解析时,可能触发线程池饥饿,进而引发ANR或系统卡顿。本文将深入剖析这一问题的技术原理,提供全面的性能检测方法,并给出多种优化…...

arcgis js 4.x 的geometryEngine计算距离、面积、缓冲区等报错、失败
在arcgis js 4.x版本中geometryEngine.geodesicArea计算面积时,有时会失败,失败的主要原因是,当前底图的坐标系不是WGS84大地坐标系(代号4326)或者web墨卡托投影(代号102113, 102100, 3857这三种之一&#…...
vSphere 7.0 client 提示HTTP状态 500- 内部服务器错误
1 .检查服务状态 通过5480端口登录vCenter管理界面(https://<vCenter_IP>:5480),查看自动启动的服务是否正常运行,尝试手动重启异常服务14若管理界面无法访问,通过SSH连接后执行命令:service-control --start --all 2. …...
用 Python 打造你的专属虚拟试衣间!——AI+AR 如何改变时尚体验
友友们好! 我是Echo_Wish,我的的新专栏《Python进阶》以及《Python!实战!》正式启动啦!这是专为那些渴望提升Python技能的朋友们量身打造的专栏,无论你是已经有一定基础的开发者,还是希望深入挖掘Python潜力的爱好者,这里都将是你不可错过的宝藏。 在这个专栏中,你将会…...
Java与Flutter集成开发跨平台应用:从核心概念到生产实践
在2025年的移动开发领域,跨平台技术已成为主流,Flutter凭借其高性能、统一的UI和跨平台能力,成为开发iOS、Android、Web和桌面应用的首选框架。根据2024年Stack Overflow开发者调查,Flutter的使用率增长了35%,特别是在…...

SpringAI 大模型应用开发篇-纯 Prompt 开发(舔狗模拟器)、Function Calling(智能客服)、RAG (知识库 ChatPDF)
🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 大模型应用开发技术框架 2.0 纯 Prompt 模式 2.1 核心策略 2.2 减少模型"幻觉"的技巧 2.3 提示词攻击防范 2.4 纯 Prompt 大模型开发(舔狗模拟器) 3.0 Function Calling 模式 3.1 …...
微信小程序的软件测试用例编写指南及示例--性能测试用例
以下是针对微信小程序的性能测试用例补充,结合代码逻辑和实际使用场景,从加载性能、渲染性能、资源占用、交互流畅度等维度设计测试点,并标注对应的优化方向: 一、加载性能测试用例 测试项测试工具/方法测试步骤预期结果优化方向冷启动加载耗时微信开发者工具「性能」面板…...

Unsupervised Learning-Word Embedding
传统的1 of N 的encoding无法让意义相近的词汇产生联系,word class可以将相近的词汇放到一起 但是word class不能表示class间的关系,所以引入了word embedding(词嵌入) 我们生成词向量是一种无监督的过程(没有label 自编码器是一种人工神经网络,主要用于无监督学习…...

远控安全进阶之战:TeamViewer/ToDesk/向日葵设备安全策略对比
【作者主页】Francek Chen 【文章摘要】在数字化时代,卓越的远程控制软件需兼顾功能与体验,包括流畅连接、高清画质、低门槛UI设计、毫秒级延迟及多功能性,同时要有独树一帜的远控安全技术,通过前瞻性安全策略阻挡网络风险&#x…...

变量的计算
不同类型变量之间的计算 数字型变量可以直接计算 在python中,数字型变量可以直接通过算术运算符计算bool型变量:True 对应数字1 ;False 对应数字0、 字符串变量 使用 拼接字符串 使用 * 拼接指定倍数的相同字符串 变量的输入:&…...

深入了解linux系统—— 库的制作和使用
什么是库? 库,简单来说就是现有的,成熟的代码; 就比如我们使用的C语言标准库,我们经常使用输入scanf和输出printf,都是库里面给我们实现好的,我们可以直接进行服用。 库呢又分为静态库和动态…...
Java中的设计模式:单例模式的深入探讨
单例模式的原理 单例模式的核心在于控制实例的数量。在Java中,类的实例化通常是由new关键字完成的。然而,单例模式通过将构造器私有化(private),阻止了外部通过new关键字直接创建类的实例。取而代之的是,单…...
View的工作流程——measure
1.DecorView被加载到Window当中 调用Activity的startActivity方法的时候,最终调用的是ActivityThread的handleLaunchActivity方法来创建Activity。 onResume方法也是在ActivityThread中的handleResumeActivity方法中被调用的,我们之前提到的DecorView就…...
【系统架构设计师】2025年上半年真题论文回忆版: 论软件测试方法及应用(包括解题思路和参考素材)
更多内容请见: 备考系统架构设计师-专栏介绍和目录 文章目录 真题题目(2025年上半年 试题4)解题思路1. 核心问题2. 论文目标3. 突出系统架构与 AI 的协同价值论文素材参考1、AI工具在生成测试用例过程中的具体应用2、AI测试用例生成的基本处理流程真题题目(2025年上半年 试…...

《软件工程》第 13 章 - 软件维护
知识思维导图 13.1 软件维护与进化的概念 1. 核心概念 软件维护:软件交付使用后,为纠正错误、改善性能或其他属性而进行的修改过程软件进化:随着时间推移,软件系统为适应环境变化和用户需求而不断演变的过程 2. 维护类型&#…...

2024 CKA模拟系统制作 | Step-By-Step | 12、创建多容器Pod
目录 免费获取题库配套 CKA_v1.31_模拟系统 一、题目 二、考点分析 1. 多容器 Pod 的理解 2. YAML 配置规范 3. 镜像版本控制 三、考点详细讲解 1. 多容器 Pod 的工作原理 2. 容器端口冲突处理 3. 资源隔离机制 四、实验环境搭建步骤 总结 免费获取题库配套 CKA_v…...

python:selenium爬取网站信息
关注我,精彩不错过! 前言 使用python的requests模块还是存在很大的局限性,例如:只发一次请求;针对ajax动态加载的网页则无法获取数据等等问题。特此,本章节将通过selenium模拟浏览器来完成更高级的爬虫抓…...
Nginx版本平滑迁移方案
Nginx版本平滑迁移方案 最可靠方案:make install后,先-s stop再重启,100%确保版本切换特殊情况:当发现nginx.pid.oldbin文件时,才考虑使用USR2信号无损升级避坑重点:make install只是替换文件,…...
WPF 按钮悬停动画效果实现
WPF 按钮悬停动画效果实现 下面我将实现一个专业的按钮悬停动画效果:当鼠标悬停在按钮上时,按钮上的文字由黑色变为白色,同时加粗并变大。 完整实现方案 MainWindow.xaml <Window x:Class"ButtonHoverEffect.MainWindow"xml…...

满天星之canvas实现【canvas】
展示 文章目录 展示Canvas 介绍【基础】简介兼容性关键特性注意事项应用场景:基本示例 满天星代码实现【重点】代码解释 全量代码【来吧,尽情复制吧少年】html引入JS代码 参考资源 Canvas 介绍【基础】 简介 Canvas是一个基于HTML5的绘图技术࿰…...
我在架构师面前谈 Spring Inner Beans,他直接点头说:这人有料!
“你听说了吗?阿里、字节最近的Java面试题又加难了!” “嗯?咋了?” “Spring又被拿出来问了,这次居然问到了Inner Beans!” “这不是冷门题吗?” “是啊,我一开始还真没答上来……” 是的!今天要跟大家唠嗑的,就是这个在面试中悄悄冒头,但平时开发中却经常被我们忽…...
Java无序数组 vs 有序数组:性能对比与选型指南
在Java中选择使用无序数组还是有序数组,需根据具体的应用需求和操作特性进行权衡。以下是从不同维度分析的详细对比及建议: 一、核心操作的性能对比 操作无序数组有序数组插入/追加O(1)(直接尾部插入)O(n)(需移动元素…...
【Linux 基础知识系列】第二篇-Linux 发行版概述
一、什么是 Linux 发行版? Linux 发行版是指将 Linux 内核和应用程序、工具、库等有机组合在一起,形成一个完整的操作系统。由于 Linux 的开源特性,任何人都可以在 Linux 内核的基础上进行修改和定制,因此产生了许多不同的发行版…...

【开源解析】基于PyQt5+Folium的谷歌地图应用开发:从入门到实战
🌐【开源解析】基于PyQt5Folium的谷歌地图应用开发:从入门到实战 🌈 个人主页:创客白泽 - CSDN博客 🔥 系列专栏:🐍《Python开源项目实战》 💡 热爱不止于代码,热情源自每…...

在 Ubuntu 22.04 LTS 上离线安装 Docker
在 Ubuntu 22.04 LTS 上离线安装 Docker 一、准备工作 1.1 获取目标系统信息 在目标 Ubuntu 22.04 LTS 系统上,先执行以下命令确认架构信息: uname -m lsb_release -a一般返回如下信息: 1.2 需要一台可联网的机器 准备一台可以连接互联网…...

python调用langchain实现RAG
一、安装langchain 安装依赖 python -m venv env.\env\Scripts\activatepip3 install langchainpip3 install langchain-corepip3 install langchain-openaipip3 install langchain-communitypip3 install dashscopepip3 install langchain_postgrespip3 install "psyc…...
Qt 中的 d-pointer 与 p-pointer小结
Qt 中的 d-pointer 与 p-pointer: PIMPL 惯用法解析 在 Qt 库中,尤其是在其核心类和模块中,广泛使用了 PIMPL (Pointer to IMPLementation,指向实现的指针) 的编程惯用法。这种模式通过一对指针来实现:d-pointer (d_p…...
冷库耗电高的一种重要原因分析,以及一种降低冷库电费≥20%的方法
1.冷库耗电高的原因分析 1.1化霜不及时 固定周期化霜:传统定时化霜模式(如每日2次)未考虑实际结霜量,导致无效化霜(霜层薄时仍启动化霜),浪费大量电能。 化霜时间过长:化霜加热器…...