舞台环境

  • Rancher v2.6.9
  • K8s v1.24.16

如果你不具备该环境,可以移步 使用 Rancher 安装 K8s 集群 查看。本文适合已经了解了 k8s 基础概念,想使用 rancher 管理学习 k8s 的人群。

创建 Nginx 负载

Pod 用于运行一个容器或者多个容器,大多数的场景使用单容器就可以了,这里我们部署一个拥有 3 个 Pod 的 nginx。在右侧面板 工作负载->Deployments->创建,选择创建一个 nginx 负载:

创建完成后可以在面板中看见它:

创建 service

nginx 创建完成后,我们需要配置 service,使其可以被访问。先获取 nginx 负载的标签,在右侧面板,工作负载->Deployments->nginx->编辑配置,复制出标签的键值:

在右侧面板,点击服务发现->服务->创建->节点端口类型:

填写基础信息:

这里监听端口,目标端口,节点端口猛地一看很懵。其实很简单,监听端口就是该 service 的自己的监听端口,用作给其他 k8s 对象使用的;目标端口就是容器自身监听的端口,也就是 nginx 的端口;节点端口就是 service 需要映射到节点 IP 上的端口,一会访问需要它,节点端口的范围需要在 K8s 集群允许的范围内,如果你不知道,先填个 30080 总没错。

之后点击选择器绑定 nginx 负载,帮我们前面复制的键值填进去:

确定创建后,使用任意 k8s 节点 IP 加30080 端口,即可在浏览器中看见 nginx 的欢迎页面。

创建PV,PVC

接下来我们来持久化数据,将 nginx 的欢迎页面改成我们自己编写的主页。这一步我们以自建的 NFS 服务用作持久券,请事先准备好 NFS,可以参考这里搭建一个 NFS 服务。

创建 PV

在右侧面板,点击储存->持久券,创建持久券:

在自定义中设置访问模式为多节点读写:

创建 PVC

在右侧面板,点击储存->持久券声明,创建持久券声明:

在自定义中设置访问模式为多节点读写,和 PV 保持一致。

配置 Pod 储存

在右侧面板,工作负载->Deployments->nginx->编辑配置中点击 Pod 选项卡,添加我们创建好的持久化券声明:

然后在容器中添加映射:

/usr/share/nginx/html 是 nginx 的默认静态文件路径,我们映射完成后,在 NFS 服务挂载目录下新建 wwwroot/index.html 文件,写入 hello,重新在浏览器中访问:

Ingress

最后我们来创建一个 ingress,用来将 nginx 暴露到公网上,在右侧面板,点击服务发现->Ingresses,点击新建,配置好域名和路径:

这里的端口就是 service 的监听端口,填写我们前面设置好的10080。最后在本机配置一下 host,访问 https + 域名,就完成了 ingress 的创建。

从 Rancher 学习 K8s - Rancher 的基础使用的更多相关文章

  1. 使用Rancher搭建K8S测试环境

    使用Rancher搭建K8S测试环境 http://blog.csdn.net/csdn_duomaomao/article/details/75316926 环境准备(4台主机,Ubuntu16.0 ...

  2. (转)清除已运行过Rancher和K8S的主机上的环境数据

    文章转自 https://blog.csdn.net/CSDN_duomaomao/article/details/77684571?locationNum=5&fps=1 本文命令主要是参考 ...

  3. rancher导入k8s集群后添加监控无数据

    1.日志报错 rancher导入k8s集群后添加监控无数据,rancher日志报错: k8s.io/kube-state-metrics/pkg/collectors/builder.go:: Fai ...

  4. 清理rancher、k8s环境

    清理rancher.k8s环境 待办 https://blog.csdn.net/CSDN_duomaomao/article/details/77684571

  5. 安装rancher以及使用rancher倒入kubernetes集群和添加及管理集群

    1.docker安装rancher [root@rancher ~]# docker run -d --name rancher --restart=unless-stopped -p : -p : ...

  6. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  7. python学习之路-day2-pyth基础2

    一.        模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...

  8. 转 iOS Core Animation 动画 入门学习(一)基础

    iOS Core Animation 动画 入门学习(一)基础 reference:https://developer.apple.com/library/ios/documentation/Coco ...

  9. Django学习系列之Form基础

     Django学习系列之Form基础 2015-05-15 07:14:57 标签:form django 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追 ...

  10. Java学习笔记:语言基础

    Java学习笔记:语言基础 2014-1-31   最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...

随机推荐

  1. elrond32

    前置知识 int __cdecl main(int argc, char **argv) * argc: 整数, 为传给main()的命令行参数个数.* argv: 字符串数组.argv[0] 为程序 ...

  2. Boruvka 算法

    Boruvka算法解决某些问题超级好用. 这些问题形如,给你n个点,每个点有点权,任意两个点之间有边权,边权为两个点权用过某种计算方式得出. 求最小生成树. 通常用 \(O(log n)\) 的时间可 ...

  3. 生命游戏(4.2leetcode每日打卡)

    根据 百度百科 ,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机. 给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞.每个细胞都具有一个初始状 ...

  4. 3款高评价的.Net开发的WMS系统推荐

    本文简介 WMS仓库管理系统是一款专业的仓库管理系统,旨在帮助企业实现仓储管理的智能化.信息化和自动化.通过该系统,企业可以实现对仓库的进货.出货.库存等各个环节的全面把控,提高仓储管理水平,降低运营 ...

  5. Kotlin协程系列(二)

    在进行业务开发时,我们通常会基于官方的协程框架(kotlinx.coroutines)来运用Kotlin协程优化异步逻辑,不过这个框架过于庞大和复杂,如果直接接触它容易被劝退.所以,为了我们在后续的学 ...

  6. 记一次解决RestTemplate和HttpClient请求结果乱码的问题

    调用一个接口,发送POST请求,浏览器和Postman均返回正常,代码中用RestTemplate和HttpClient均返回乱码 开始一直以为是编码问题导致,网上查了解决方法,也看了源码,都不对症 ...

  7. flask上下文、g变量、current_app

    在flask中的上下文分为两种 : 请求上下文 (request context) 也就是和请求相关的上下文,记录一些请求相关的数据. 包含: 1.request请求对象 2.session会话 应用 ...

  8. 自定义开发odoo14的统计在线用户人数

    在 Odoo 14 中统计在线人数通常涉及到定制开发或者使用特定的模块. 自定义开发:如果没有现成的模块,您可能需要进行一些自定义开发.这通常涉及到扩展Odoo的用户模型,以跟踪用户的登录和登出活动. ...

  9. window10 AppX Deployment Service (AppXSVC)占用大量内存导致资源管理器卡死无响应

    window10 AppX Deployment Service (AppXSVC)占用大量内存导致资源管理器卡死无响应,导致无法进入桌面打开软件等等. 1.打开任务管理的情况下,先结束卡死的资源管理 ...

  10. Java 并发编程(四)同步工具类

    本文使用的 JDK 版本为 JDK 8 基本同步工具类 闭锁(CountDownLatch) 闭锁是一种工具类,可以延迟线程的进度直到其到达终止状态.闭锁的作用相当与一扇门:在闭锁的状态到达之前,这扇 ...