舞台环境

  • 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. 微信小程序记住密码,让登录解放双手

    密码是用户最重要的数据,也是系统最需要保护的数据,我们在登录的时候需要用账号密码请求登录接口,如果用户勾选记住密码,那么下一次登录时,我们需要将账号密码回填到输入框,用户可以直接登录系统.我们分别对这 ...

  2. CTA策略介绍

    CTA策略更多的时候是一种投资方法,更准确的说,主要投资于衍生品的.比较系统化规则化的投资方法都可以称作CTA投资,它并不拘泥于量化或是主动,其具有相当的生命力,会长期存在. CTA策略的收入来源是多 ...

  3. .NET中有多少种定时器

    .NET中至少有6种定时器,每一种定时器都有它的用途和特点.根据定时器的应用场景,可以分为UI相关的定时器和UI无关的定时器.本文将简单介绍这6种定时器的基本用法和特点. UI定时器 .NET中的UI ...

  4. 给 Web 前端工程师看的用 Rust 开发 wasm 组件实战

    什么是wasm组件? wasm 全称 WebAssembly,是通过虚拟机的方式,可以在服务端.客户端如浏览器等环境执行的二进制程序.他有速度快.效率高.可移植的特点. 对我们 Web 前端工程最大的 ...

  5. Miller_Rabin 学习笔记

    费马小定理:对于任意一个质数满足:\(a^{p-1}\equiv1\pmod p\) 二次探测:对于任意一个奇质数满足:\(x^2\equiv1\pmod p\) 的解为 \(x=1\) 或 \(x= ...

  6. [ABC266Ex] Snuke Panic (2D)

    Problem Statement Takahashi is trying to catch many Snuke. There are some pits in a two-dimensional ...

  7. Chrome扩展开发实战:快速填充表单

    大家好,我是 dom 哥.我正在写关于 Chrome 扩展开发的系列文章,感兴趣的可以 点个小星星 . 填表单是打工人经常面对的场景,作为一个前端,我经常开发一些PC端的页面,它们主要由表单和表格构成 ...

  8. Hugging Face 年度回顾:2023,开源大模型之年

    在 2023 年,大型语言模型(Large Language Models,简称 LLMs)受到了公众的广泛关注,许多人对这些模型的本质及其功能有了基本的了解.是否开源的议题同样引起了广泛的讨论.在 ...

  9. MinIO客户端之cat

    MinIO提供了一个命令行程序mc用于协助用户完成日常的维护.管理类工作. 官方资料 mc cat 使用cat命令输出本地硬盘上的文本文件的内容至控制台. ./mc cat ./local.json ...

  10. Python——第五章:hashlib模块

    hashlib 模块(hash)算法 hashlib 模块是 Python 中用于加密散列(hash)算法的模块.它提供了对常见的哈希算法(如MD5.SHA-1.SHA-256等)的支持,使得开发者可 ...