从 Rancher 学习 K8s - Rancher 的基础使用
舞台环境
- 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 的基础使用的更多相关文章
- 使用Rancher搭建K8S测试环境
使用Rancher搭建K8S测试环境 http://blog.csdn.net/csdn_duomaomao/article/details/75316926 环境准备(4台主机,Ubuntu16.0 ...
- (转)清除已运行过Rancher和K8S的主机上的环境数据
文章转自 https://blog.csdn.net/CSDN_duomaomao/article/details/77684571?locationNum=5&fps=1 本文命令主要是参考 ...
- rancher导入k8s集群后添加监控无数据
1.日志报错 rancher导入k8s集群后添加监控无数据,rancher日志报错: k8s.io/kube-state-metrics/pkg/collectors/builder.go:: Fai ...
- 清理rancher、k8s环境
清理rancher.k8s环境 待办 https://blog.csdn.net/CSDN_duomaomao/article/details/77684571
- 安装rancher以及使用rancher倒入kubernetes集群和添加及管理集群
1.docker安装rancher [root@rancher ~]# docker run -d --name rancher --restart=unless-stopped -p : -p : ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- python学习之路-day2-pyth基础2
一. 模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...
- 转 iOS Core Animation 动画 入门学习(一)基础
iOS Core Animation 动画 入门学习(一)基础 reference:https://developer.apple.com/library/ios/documentation/Coco ...
- Django学习系列之Form基础
Django学习系列之Form基础 2015-05-15 07:14:57 标签:form django 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追 ...
- Java学习笔记:语言基础
Java学习笔记:语言基础 2014-1-31 最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...
随机推荐
- vue 中如何使用axios调用接口
首先后端采用的是restful形式,分为了 1.post(添加)请求, 2.delect(删除)请求, 3.put(修改)请求, 4.get(查询)请求, 在vue里项目里,npm i axios - ...
- 总结---Django部分(二)
Django中model的SlugField类型字段有什么用途? SlugField字段是将输入的内容中的空格都替换成'-'之后保存,Slug 是一个新闻术语,通常是某些东西的短标签.一个slug只能 ...
- 通过Span实现高性能数组,实例解析
Span<T> 是 C# 7.2 引入的一个强大的数据结构,用于表示内存中的一块连续数据.它可以用于实现高性能的数组操作,而无需额外的内存分配.在本文中,我将详细介绍如何使用 Span&l ...
- 数据分析工具 Datainside、Power BI、帆软(FineReport)怎么选?
Datainside.Power BI和帆软(FineReport)都是数据分析领域常用的工具,它们各自有不同的特点和适用场景.下面将会详细介绍每个工具的功能和优势,以便您进行选择. Datainsi ...
- .net 获取客户端真实ip
Nginx 如何设置 情况1 在只有1层nginx代理的情况下,设置nginx配置"proxy_set_header X-Forwarded-For $remote_addr;". ...
- GitHub、Google等镜像加速地址收集
摘要 本文用于收集GitHub.Google等镜像/加速地址. GitHub GitHub加速地址一览 fastgithub Https://www.fastgithub.com/(推荐) 站源 地址 ...
- CSS(不定时更新)
一.使用img后的高度多了4px 由于img是行内元素,默认display: inline; 它与文本的默认行为类似,下边缘是与基线(baseline)对齐,而不是紧贴容器下边缘. 将displayp ...
- Linux笔记02: Linux环境_2.2 Linux系统安装
2.2 Linux系统 本文使用的Linux系统为CentOS 7.9.2009,读者可以根据自己的需要选择不同的版本. 2.2.1 CentOS版本 CentOS基本上是安装在i386.x86_64 ...
- docker 设计及源码分析
1.dockerd 是一个长期运行的守护进程(docker daemon).负责管理 docker 容器的生命周期.镜像和存储等.实际还是通过grpc 的协议调用 containerd 的 api 接 ...
- 【大语言模型基础】60行Numpy教你实现GPT-原理与代码详解
写在前面 本文主要是对博客 https://jaykmody.com/blog/gpt-from-scratch/ 的精简整理,并加入了自己的理解. 中文翻译:https://jiqihumanr.g ...