一、实验目的

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.pswp.cn/bicheng/83061.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/83061.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/83061.shtml

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

相关文章

STM32单片机简介

1.基本情况 STM32单片机正如其名是32位微控制器,相较于51单片机的8位微控制器,性能会更好,但学习难度也会提高。 在stm32单片机中内核时核心部分,是ARM公司设计的,其在stm32单片机中占据极为重要的地位。(程序指令的…

GESP】C++一级考试大纲知识点梳理(1)

计算机基础和操作系统 GESP C++一级官方考试大纲中,除可通过编码掌握的Dev C++开发工具的使用和C++编程基础语法知识外(考纲2-13),还涉及计算机基础知识的要求(考纲1): (1)了解计算机的基本构成(CPU,内存,I/O 设备等) ,了解 Windows、Linux等操作系统基本概念和常…

浅谈 JavaScript 性能优化

文章目录 概要一、代码执行优化1. 减少全局变量访问2. 避免不必要的计算3. 优化循环操作 二、内存管理优化1. 减少内存泄漏2. 对象池与内存复用 三、渲染性能优化1. 避免强制同步布局2. 减少 DOM 操作3. 优化动画与合成 四、网络加载优化1. 代码压缩与 Tree Shaking2. 按需加载…

mongodb nosql数据库笔记

MongoDB 简介 MongoDB 是一个开源的 NoSQL 数据库,采用文档存储模型(BSON 格式,类似 JSON),支持高灵活性、水平扩展和高性能的数据操作。与传统关系型数据库(如 MySQL)不同,MongoDB…

Flutter实现不规则瀑布流布局拖拽重排序

因为业务,所以需要用flutter去实现一种不规则图形的瀑布流,但是同时需要支持拖拽并重新排序。效果类似如下。 查询过现有的插件,要么是仅支持同样大小的组件进行排序,要么就是动画效果不是很满意,有点死板,…

微信小程序(uniapp)实现腾讯云 IM 消息撤回

uniapp 实现腾讯云 IM 消息撤回功能实战指南 一、功能实现原理 腾讯云 IM 的消息撤回功能通过 消息修订(Message Revision) 机制实现,核心流程如下: 发送方调用撤回 API 删除指定消息云端生成撤回通知消息(类型为 T…

AI入门示例

市面上有很多AI大模型,这里以 智谱的大模型 为示例 1.先要注册智谱AI开放平台 2.注册成功后,会赠送3个月的免费额度,如下 3.然后去控制台,创建一个API KEY 4.接着就可以开始写代码了 提前导入包: openai 示例1&…

【数据结构】单链表练习

1.链表的中间节点 https://leetcode.cn/problems/middle-of-the-linked-list/description/ 用快慢指针来解决 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode* middleNode(struct ListNode* he…

尝鲜纯血鸿蒙,华为国际版本暂时不支持升级。如mateX6 国际版?为什么不支持?什么时候支持?

一:mateX6 国际版支持鸿蒙吗? 不支持 二:华为国际版支持鸿蒙吗? 不支持 三:华为国际版什么时候支持? 2025年预期可以支持。请耐心等待。 三:国际版为什么不支持? EMUI 采用AO…

Spring Boot的启动流程,以及各个扩展点的执行顺序

目录 1. 初始化阶段执行顺序 1.1 Bean的构造方法(构造函数) 1.2 PostConstruct 注解方法 1.3 InitializingBean 的 afterPropertiesSet() 1.4 Bean(initMethod "自定义方法") 2. 上下文就绪后的扩展点 2.1 ApplicationContext 事件监听…

刀具问题讨论

1 刀具的问题概述 问题描述 一道工序用自动化车床连续加工某种零件,由于刀具损坏等原因该工序会出现故障,其中刀具损坏故障占95%, 其它故障仅占 5%。工序出现故障是完全随机的, 假定在生产任一零件时出现故障的机会均相同。工作人员通过检查零件来确定…

vite配置一个css插件

vite.config.js的plugins执行函数 该例子只是替换一些css,具体内容不重要,主要看形参的运用 // vite-plugin-css.js export default function cssPlugin() {return {name: vite-plugin-css-post, // 插件的名字,Vite 插件必须有名字enforce: post, // 设定插件执…

✨1.1.1 按位与运算替代求余运算优化场景

在计算机编程中,使用按位与运算(&)替代求余运算(%)可以提高效率的特殊场景是:当除数是 2 的整数次幂(即 ( b 2^n ),其中 ( n ) 为自然数)时。例如,( b …

CentOS 7 环境中部署 LNMP(Linux + Nginx + MySQL 5.7 + PHP)

在 CentOS 7 环境中部署 LNMP(Linux Nginx MySQL 5.7 PHP) 环境的详细步骤如下。此方案确保各组件版本兼容,并提供完整的配置验证流程。 1. 更新系统 sudo yum update -y 2. 安装 MySQL 5.7 2.1 添加 MySQL 官方 YUM 仓库 由于MySQL并不…

UniApp微信小程序自定义导航栏实现

UniApp微信小程序自定义导航栏 在UniApp开发微信小程序时,页面左上角默认有一个返回按钮(在导航栏左侧),但有时我们需要自定义这个按钮的样式和功能,同时保持与导航栏中间的标题和右侧胶囊按钮(药丸屏&…

Java大师成长计划之第35天:未来展望与个人总结

引言 作为一门历史悠久的编程语言,Java自1995年问世以来,经历了多个版本的迭代与演进,依然在当今技术生态中占据着重要地位。从早期的Java SE、Java EE到后来的Java Spring框架,再到现代的微服务架构与云原生应用,Jav…

Ubuntu开机自动运行Docker容器中的Qt UI程序

Ubuntu开机自动运行Docker容器中的Qt UI程序 引言为什么需要这样配置?解决方案概览详细实现步骤1. 创建容器启动脚本2. 创建系统服务3. 配置自动登录和显示设置常见问题解决方案1. 程序无法显示(X11权限问题)2. 分辨率设置不生效3. 服务启动失败安全注意事项结语附录:完整文…

Scratch节日 | 龙舟比赛 | 端午节

端午节快乐! 这款专为孩子们打造的Scratch游戏——《龙舟比赛》,让你在掌控龙舟的竞速中,沉浸式体验中华传统节日的魅力! 🎮 游戏亮点 节日氛围浓厚:化身龙舟选手,在波涛汹涌的河流中展开刺激竞…

(五)MMA(OpenTelemetry/Rabbit MQ/ApiGateway/MongoDB)

文章目录 项目地址一、OpenTelemetry1.1 配置OpenTelemetry1. 服务添加2. 添加服务标识3. 添加请求的标识4. 添加中间价 二、Rabbit MQ2.1 配置Rabbit MQ1. docker-compose2. 添加Rabbit MQ的Connect String 2.2 替换成Rabbit MQ1. 安装所需要的包2. 使用 三、API Gateways3.1 …

格恩朗超声波水表 助力农业精准灌溉与振兴​

在农业现代化的征程中,水资源的精准利用至关重要,而这离不开高精度计量设备的支持。大连格恩朗品牌积极响应国家全面推进乡村振兴、加快农业农村现代化的号召,精心打造的超声波水表,凭借其超高精度,成为绿色灌溉领域的…