当前位置: 首页 > news >正文

k8s可练习实验分享

实验环境介绍单master节点+3node节点
环境已提前配置完毕,如果你环境还未做,请移步 k8s集群V1.27.3安装

在 k8s 上可以做许多实验来提升你的动手能力和理解。以下是一些常见且有用的实验项目:

1、部署一个简单的应用

实验目标:
部署一个简单的 web 应用,比如 Nginx 或者一个自定义的 Node.js 应用。

实验步骤:

  1. 创建一个 Deployment。
  2. 创建一个 Service 来暴露应用。
  3. 验证应用是否可以通过 Service 访问。

2、使用ConfigMap 和 Secret

实验目标:
学习如何使用 ConfigMap 和 Secret 来管理应用的配置。

实验步骤:

  1. 创建一个 ConfigMap 存储应用配置。
  2. 创建一个 Secret 存储敏感信息(如数据库密码)。
  3. 在 Pod 中挂载 ConfigMap 和 Secret,并验证应用读取配置。

3、滚动更新和回滚

实验目标:
学习如何进行应用的滚动更新和回滚操作。

实验步骤:

  1. 创建一个 Deployment。
  2. 更新 Deployment 的镜像版本,观察滚动更新过程。
  3. 回滚到之前的版本,验证回滚操作。

4、设置资源请求和限制

实验目标:
学习如何为 Pod 设置资源请求和限制,以优化集群资源分配。

实验步骤:

  1. 创建一个 Deployment,并设置 CPU 和内存的资源请求和限制。
  2. 使用 kubectl describe 命令查看资源分配情况。
  3. 观察资源限制对 Pod 行为的影响。

5、使用Horizontal Pod Autoscaler (HPA)

实验目标:
学习如何使用 HPA 实现自动扩展。

实验步骤:

  1. 创建一个 Deployment,并设置 CPU 或内存的资源请求。
  2. 创建一个 HPA,设置扩展策略。
  3. 生成负载,观察 HPA 如何自动扩展 Pod 数量。

6、创建 StatefulSet

实验目标:
学习如何使用 StatefulSet 部署有状态应用,比如数据库。

实验步骤:

  1. 创建一个 StatefulSet 部署 MySQL 或 MongoDB。
  2. 创建一个 Headless Service 支持 StatefulSet。
  3. 验证 StatefulSet 中 Pod 的稳定标识和存储持久性。

7、使用 PersistentVolume (PV) 和 PersistentVolumeClaim (PVC)

实验目标:
学习如何使用 PV 和 PVC 提供持久存储。

实验步骤:

  1. 创建一个 PersistentVolume。
  2. 创建一个 PersistentVolumeClaim。
  3. 在 Pod 中使用 PVC,并验证数据持久性。

8、网络策略 (Network Policy)

实验目标:
学习如何使用 Network Policy 控制 Pod 间的通信。

实验步骤:

  1. 创建两个不同的命名空间,每个命名空间中部署一个应用。
  2. 创建 Network Policy,限制应用之间的通信。
  3. 验证 Network Policy 的效果。

9、使用Helm部署应用

实验目标:
学习如何使用 Helm 部署和管理应用。

实验步骤:

  1. 安装 Helm。
  2. 使用 Helm 部署一个 Chart,比如 WordPress。
  3. 自定义 Chart 的参数,验证应用配置。

10、集成监控和日志

实验目标:
学习如何集成监控和日志系统,比如 Prometheus 和 Grafana。

实验步骤:

  1. 部署 Prometheus 和 Grafana。
  2. 配置 Kubernetes 的监控指标和告警规则。
  3. 部署 EFK (Elasticsearch, Fluentd, Kibana) 或 Loki 进行日志收集和分析。

接下来的一段时间里我会把上边的实验全部通过实验环境做一遍,来了解和掌握k8s的核心概念和操作技能。希望这些能帮助你在实际工作中更好地使用和管理 Kubernetes 集群。

相关文章:

  • 1毛钱1百万token,写2遍红楼梦!国产大模型下一步还想卷什么?
  • 【数据库设计】宠物商店管理系统
  • Python第二语言(十四、高阶基础)
  • Internet Download Manager(IDM6.41)安装教程+软件安装包下载
  • 【机器学习】机器学习赋能医疗健康:从诊断到治疗的智能化革命
  • MySql几十万条数据,同时新增或者修改
  • 制作ubuntu18.04 cuda10.2+ROS1的 docker镜像
  • Python自动化
  • 机器学习--线性模型和非线性模型的区别?哪些模型是线性模型,哪些模型是非线性模型?
  • 攻防演练之-成功的钓鱼邮件溯源
  • 自然语言处理领域的重大挑战:解码器 Transformer 的局限性
  • Sm4【国密4加密解密】
  • DP:两个数组的dp问题
  • element table 点击某一行中按钮加载
  • Web前端标记类型:深入剖析HTML、CSS与JavaScript的奥秘
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • angular2 简述
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • node 版本过低
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • 通过npm或yarn自动生成vue组件
  • 微信支付JSAPI,实测!终极方案
  • 为视图添加丝滑的水波纹
  • 详解NodeJs流之一
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 运行时添加log4j2的appender
  • 智能网联汽车信息安全
  • 1.Ext JS 建立web开发工程
  • ​queue --- 一个同步的队列类​
  • !$boo在php中什么意思,php前戏
  • # Panda3d 碰撞检测系统介绍
  • #DBA杂记1
  • (13)Hive调优——动态分区导致的小文件问题
  • (16)Reactor的测试——响应式Spring的道法术器
  • (二)Eureka服务搭建,服务注册,服务发现
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (规划)24届春招和25届暑假实习路线准备规划
  • (利用IDEA+Maven)定制属于自己的jar包
  • (三)模仿学习-Action数据的模仿
  • (顺序)容器的好伴侣 --- 容器适配器
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (原創) 未来三学期想要修的课 (日記)
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • (转载)利用webkit抓取动态网页和链接
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .NET Core跨平台微服务学习资源
  • .Net IE10 _doPostBack 未定义
  • .NET Micro Framework初体验
  • .net 受管制代码
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .NET分布式缓存Memcached从入门到实战
  • .NET国产化改造探索(一)、VMware安装银河麒麟