舞台环境

  • 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. 02Java学习_注意事项和学习方法

    02_Java 开发注意事项细节和学习方法 目录 02_Java 开发注意事项细节和学习方法 注意事项 学习方法 注意事项 .java 是 Java 文件的拓展名.源文件的基本组成部分是类--clas ...

  2. 牛客多校第二场 I.Penguins

    题意 两个企鹅,一个从地图的右下角走右上角,一个从另一个地图的左下角走到左上角,我们操控左边的企鹅,右边的企鹅与左边企鹅运动规则如下. 左边企鹅向左,右边企鹅向右 左边企鹅向右,右边企鹅向左 左边企鹅 ...

  3. APISIX proxy-cache 插件用法

    APISIX 的 proxy-cache 插件可以对上游的查询进行缓存,这样就不需要上游的应用服务自己实现缓存了,或者也能少实现一部分缓存,通用的交给插件来做. 下面的操作都是基于 APISIX 3. ...

  4. centos 7.9安装Prometheus

    一.Prometheus功能 Prometheus 在系统监控和警报方面非常强大,它适用于多种应用场景.以下是一些常见的 Prometheus 应用场景,以及具体的例子: 性能监控:Prometheu ...

  5. 小程序引入外部icon图标

    一.使用阿里巴巴图标库引入字体图标 阿里巴巴图标库:https://www.iconfont.cn/manage/index 选择合适的图标 收藏,在收藏中查看 选择:自己的项目 选择:第二个{fon ...

  6. Java自定义ClassLoader实现插件类隔离加载

    为什么需要类隔离加载 项目开发过程中,需要依赖不同版本的中间件依赖包,以适配不同的中间件服务端 如果这些中间件依赖包版本之间不能向下兼容,高版本依赖无法连接低版本的服务端,相反低版本依赖也无法连接高版 ...

  7. jdk11的HttpClient

    我们都知道在jdk11之前都在用okhttp或者org.apache.httpcomponents  其实早在jdk9的时候这个方案就在孵化中 上面的截图来自openjdk的官网,注:openjdk是 ...

  8. NVIDIA RTX4090,你能用它做什么?

    都说男生是世界上最简单的动物,为什么呢?举个例子,你要给女朋友送礼,你可以选择包.口红.护肤品.化妆品等,而包的品牌和样式.口红的色号等足以让你挑得眼花缭乱.而男生不一样,如果女生选择给男生送礼,我相 ...

  9. 后端程序员必会的前端知识-02:JavaScript

    第二章. Javascript 它是一种脚本语言,可以用来更改页面内容,控制多媒体,制作图像.动画等等 例子 修改页面内容 js 代码位置 <script> // js 代码 </s ...

  10. 如何对U盘的使用权限进行管控

    对U盘的使用权限进行管控是保护企业信息安全的一项重要措施.以下是一些常见的方法,可帮助您有效管理和控制U盘的使用权限: 禁用U盘端口: 在公司计算机上禁用或限制USB端口的使用,特别是那些不需要使用U ...