草庐IT

Rancher操作指南(一):快速搭建k8s集群

魔希达 2023-05-28 原文

文章目录


前言

Rancher提供了可视化操作界面来创建和管理k8s集群,能够轻松的实现集群扩容、应用部署。本文记录通过单节点Rancher来部署k8s集群的过程。

版本:Rancher v2.5.x


一、前置准备

1.服务器

本文以三台Centos 7.6服务器为例,服务器信息如下:

服务器外网ip内网ip
master100.0.0.1192.168.0.1
node1100.0.0.2192.168.0.2
node2100.0.0.3192.168.0.3

2.域名(非必要)

rancher.example.cn 解析至100.0.0.1

二、部署Rancher

1.登入master服务器(100.0.0.1)

2.安装Docker

执行以下其中一种安装命令:

方式一:yum -y install docker
方式二:curl https://releases.rancher.com/install-docker/19.03.sh | sh

3.启动Rancher

docker run -d --name=rancher --restart=unless-stopped \
    -p 8080:80 -p 8443:443 \
    --privileged \
    -v /data/rancher:/var/lib/rancher \
    rancher/rancher:latest \
    --acme-domain rancher.example.cn
  • -v 挂载/data/rancher目录是为了数据持久化
  • acme-domain后面的域名rancher.example.cn是rancher管理后台访问域名,rancher将自动为域名申请 Let’s Encrypt 证书,需要将rancher.example.cn域名解析到100.0.0.1
  • 不想用域名可以去掉acme-domain选项,也可以挂载自己的证书,如下:
    -v /<CERT_DIRECTORY>/<FULL_CHAIN.pem>:/etc/rancher/ssl/cert.pem 
    -v /<CERT_DIRECTORY>/<PRIVATE_KEY.pem>:/etc/rancher/ssl/key.pem 

4.等待1-2分钟启动完毕后访问:https://100.0.0.1:8443 或解析好的域名https://rancher.example.cn ,可看到如下页面

5.填写admin账号的初始密码,勾选使用条款,然后点击Continue按钮,会进入绑定url的页面

6.保存后进入首页,右下角可以切换到中文

三、创建k8s集群

1.点击首页右上角添加集群

2.选择自定义

3.填好集群名称,其他参数默认即可,点击下一步进入添加主机的页面,勾选角色Etcd和Control,展开高级选项填写master主机的信息

4.复制页面下方的sudo docker run命令在master主机上执行,等待k8s集群master节点安装完毕

5.安装完毕后返回首页可看到集群的主机数变成了1

6.点击主机数列上的数字可以进去查看主机列表,如果主机状态为Active,说明节点已初始化完毕

7.点击右上方的编辑集群,页面拉到最下面会有添加主机命令
这次角色选择worker,并填写node1的信息,然后复制命令到node1主机执行。
再将参数改成node2主机的信息,复制命令到node2主机执行。

8.等待node1、node2两个节点初始化完毕后,k8s集群就搭建完毕了

四、其他操作说明

1.页面左上角可以选择进入某个集群的管理界面


2.集群管理首页可以看到集群监控信息,还可以在页面上执行kubectl命令


3.页面左上角还可以选择进入集群的某个项目的管理界面


4. 进入菜单栏的资源>工作负载,就可以看到目前各命令空间运行的pods,可以通过部署服务来快速的启动pods


总结

通过Rancher可以简单的创建并管理k8s集群,集成了集群监控组件,极大降低了k8s的维护成本,同时Rancher创建的k8s集群也支持通过kubectl进行管理。

有关Rancher操作指南(一):快速搭建k8s集群的更多相关文章

  1. ruby - 如何使用 Selenium Webdriver 根据 div 的内容执行操作? - 2

    我有一个使用SeleniumWebdriver和Nokogiri的Ruby应用程序。我想选择一个类,然后对于那个类对应的每个div,我想根据div的内容执行一个Action。例如,我正在解析以下页面:https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=puppies这是一个搜索结果页面,我正在寻找描述中包含“Adoption”一词的第一个结果。因此机器人应该寻找带有className:"result"的div,对于每个检查它的.descriptiondiv是否包含单词“adoption

  2. ruby-on-rails - 如何处理 Grape 中特定操作的过滤器之前? - 2

    我正在我的Rails项目中安装Grape以构建RESTfulAPI。现在一些端点的操作需要身份验证,而另一些则不需要身份验证。例如,我有users端点,看起来像这样:moduleBackendmoduleV1classUsers现在如您所见,除了password/forget之外的所有操作都需要用户登录/验证。创建一个新的端点也没有意义,比如passwords并且只是删除password/forget从逻辑上讲,这个端点应该与用户资源。问题是Grapebefore过滤器没有像except,only这样的选项,我可以在其中说对某些操作应用过滤器。您通常如何干净利落地处理这种情况?

  3. ruby-on-rails - 在 Ruby on Rails 中发送响应之前如何等待多个异步操作完成? - 2

    在我做的一些网络开发中,我有多个操作开始,比如对外部API的GET请求,我希望它们同时开始,因为一个不依赖另一个的结果。我希望事情能够在后台运行。我找到了concurrent-rubylibrary这似乎运作良好。通过将其混合到您创建的类中,该类的方法具有在后台线程上运行的异步版本。这导致我编写如下代码,其中FirstAsyncWorker和SecondAsyncWorker是我编写的类,我在其中混合了Concurrent::Async模块,并编写了一个名为“work”的方法来发送HTTP请求:defindexop1_result=FirstAsyncWorker.new.async.

  4. ruby - 在 Ruby 中是否有一种惯用的方法来操作 2 个数组? - 2

    a=[3,4,7,8,3]b=[5,3,6,8,3]假设数组长度相同,是否有办法使用each或其他一些惯用方法从两个数组的每个元素中获取结果?不使用计数器?例如获取每个元素的乘积:[15,12,42,64,9](0..a.count-1).eachdo|i|太丑了...ruby1.9.3 最佳答案 使用Array.zip怎么样?:>>a=[3,4,7,8,3]=>[3,4,7,8,3]>>b=[5,3,6,8,3]=>[5,3,6,8,3]>>c=[]=>[]>>a.zip(b)do|i,j|c[[3,5],[4,3],[7,6],

  5. ruby-on-rails - 如何让 Rails View 返回其关联的操作名称? - 2

    我有一个非常简单的Controller来管理我的Rails应用程序中的静态页面:classPagesController我怎样才能让View模板返回它自己的名字,这样我就可以做这样的事情:#pricing.html.erb#-->"Pricing"感谢您的帮助。 最佳答案 4.3RoutingParametersTheparamshashwillalwayscontainthe:controllerand:actionkeys,butyoushouldusethemethodscontroller_nameandaction_nam

  6. ruby - 如何以表格格式快速打印 Ruby 哈希值? - 2

    有没有办法快速将表格格式的ruby​​哈希打印到文件中?如:keyAkeyBkeyC...1232343451253474456...其中散列的值是不同大小的数组。还是使用双循环是唯一的方法?谢谢 最佳答案 试试我写的这个gem(在表中打印散列、ruby对象、ActiveRecord对象):http://github.com/arches/table_print 关于ruby-如何以表格格式快速打印Ruby哈希值?,我们在StackOverflow上找到一个类似的问题:

  7. Ruby 和指南针路径与 yeoman 项目 - 2

    我安装了ruby​​、yeoman,当我运行我的项目时,出现了这个错误:Warning:Running"compass:dist"(compass)taskWarning:YouneedtohaveRubyandCompassinstalledthistasktowork.Moreinfo:https://github.com/gruUse--forcetocontinue.Use--forcetocontinue.我有进入可变session目标的路径,但它不起作用。谁能帮帮我? 最佳答案 我必须运行这个:geminstallcom

  8. 电脑启动后显示器黑屏怎么办?排查下面4个问题,快速解决 - 2

    电脑启动出现显示器黑屏是一个相当常见的问题。如果您遇到了这个问题,不要惊慌,因为它有很多可能的原因,可以采取一些简单的措施来解决它。在本文中,小编将介绍下面4种常见的电脑启动后显示器黑屏的原因,排查这些原因,快速解决! 演示机型:联想Ideapad700-15ISK-ISE系统版本:Windows10一、显示器问题如果出现电脑启动后显示器黑屏的情况。那么首先您需要检查一下显示器是否正常工作。您可以通过更换另一个显示器或将当前显示器连接到另一台计算机来检查显示器是否存在问题。如果问题仍然存在,那么您可以排除显示器故障的可能性。 二、显卡问题如果您的电脑配备了独立显卡,那么显卡故障也可能是导致电脑

  9. Postman测试简单操作 - 2

    1、接口请求基本操作1.1例子tips在view的选项可以zoomin调整窗口字帖大小。1、创建一个测试的workspace,并命名为test2、test后面新增一个addrequest3、选择发送GET,URL为一个开源的https://api.apiopen.top/api/sentences获取每日一句4、点击send查看内容Tips:如果提示出现Error:tunnelingsocketcouldnotbeestablished,statusCode=407错误,参照以下解决办法)关于tunnelingsocketcouldnotbeestablished,cause=getaddri

  10. Simulink方法总结和避坑指南(一)——Simulink入门与基本调试方法 - 2

    文章目录一、项目场景二、基本模块原理与调试方法分析——信源部分:三、信号处理部分和显示部分:四、基本的通信链路搭建:四、特殊模块:interpretedMATLABfunction:五、总结和坑点提醒一、项目场景  最近一个任务是使用simulink搭建一个MIMO串扰消除的链路,并用实际收到的数据进行测试,在搭建的过程中也遇到了不少的问题(当然这比vivado里面的debug好不知道多少倍)。准备趁着这个机会,先以一个很基本的通信链路对simulink基础和相关的debug方法进行总结。  在本篇中,主要记录simulink的基本原理和基本的SISO通信传输链路(QPSK方式),计划在下篇记

随机推荐