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

news2025/5/31 18:41:48

一、实验目的

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.coloradmin.cn/o/2391726.html

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

相关文章

Agilent安捷伦Cary3500 UV vis光谱仪Cary60分光光度计Cary1003004000500060007000 UV visible

Agilent安捷伦Cary3500 UV vis光谱仪Cary60分光光度计Cary1003004000500060007000 UV visible

arcgis js 4.x 的geometryEngine计算距离、面积、缓冲区等报错、失败

在arcgis js 4.x版本中geometryEngine.geodesicArea计算面积时,有时会失败,失败的主要原因是,当前底图的坐标系不是WGS84大地坐标系(代号4326)或者web墨卡托投影(代号102113, 102100, 3857这三种之一&#…

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,都是库里面给我们实现好的,我们可以直接进行服用。 库呢又分为静态库和动态…

《软件工程》第 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模拟浏览器来完成更高级的爬虫抓…

满天星之canvas实现【canvas】

展示 文章目录 展示Canvas 介绍【基础】简介兼容性关键特性注意事项应用场景:基本示例 满天星代码实现【重点】代码解释 全量代码【来吧,尽情复制吧少年】html引入JS代码 参考资源 Canvas 介绍【基础】 简介 Canvas是一个基于HTML5的绘图技术&#xff0…

【开源解析】基于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…

触控精灵 ADB运行模式填写电脑端IP教程

•ADB模式,如果你手机已经root则可以直接运行,无需安装电脑端。 •ADB模式,如果你手机没有root,那你可以windows电脑下载【极限投屏】软件,然后你的手机和电脑的网络要同一个wifi,然后把你电脑的ip地址填写…

uniapp|实现多端图片上传、拍照上传自定义插入水印内容及拖拽自定义水印位置,实现水印相机、图片下载保存等功能

本文以基础视角,详细讲解如何在uni-app中实现图片上传→水印动态编辑→图片下载的全流程功能。 目录 引言应用场景分析(社交媒体、内容保护、企业素材管理等)uniapp跨平台开发优势核心功能实现​图片上传模块多来源支持:相册选择(`uni.chooseImage`)与拍照(`sourceType:…

linux有效裁剪视频的方式(基于ffmpeg,不改变分辨率,帧率,视频质量,不需要三方软件)

就是在Linux上使用OBS Studio录制一个讲座或者其他视频,可能总有些时候会多录制一段时间,但是如果使用剪映或者PR这样的工具在导出的时候总需要烦恼导出的格式和参数,比如剪映就不支持mkv格式的导出,导出成mp4格式的视频就会变得很…

服务器密码安全运维解决新思路:凭据管理SMS+双因素SLA认证结合的方案

引言:云服务器安全成本困局 在云计算渗透率突破60%的今天,中小企业正面临严峻的安全悖论:某权威机构数据显示,72%的云上数据泄露事件源于凭据管理不当,而传统安全解决方案的采购成本往往超过中小企业年利润的8%。这种…

论文阅读笔记——In-Context Edit

ICEdit 论文阅读笔记 指令图像编辑现有方法的局限: 微调类方法(InstructPix2Pix、Emu Edit、 Ultra Edit):需要大规模数据和算力、精度高但效率低且泛化性低;免训练方法(Prompt-to-Prompt、 StableFlow&am…

【后端高阶面经:MongoDB篇】41、MongoDB 是怎么做到高可用的?

一、MongoDB高可用核心架构:副本集(Replica Set)设计 (一)副本集角色与拓扑结构 1. 三大核心角色 角色职责描述资源占用选举权重数据存储Primary唯一接收写请求的节点,将操作日志(Oplog&…