搭建 Rancher 服务,配置k8s集群

news/2024/10/22 12:33:55/

1. 前提条件

前提条件:

  • 安装docker,要求版本各节点版本一致。
  • 网上还有额外的要求:关闭swap、禁用selinux等等。

2. 搭建 Rancher 服务

直接通过docker命令实现即可,很方便。

docker run -d \--name rancher \--restart unless-stopped \--privileged \-v /opt/mount/rancher/lib/kubelet:/var/lib/kubelet \-v /opt/mount/rancher/lib/rancher:/var/lib/rancher \-v /opt/mount/rancher/log:/var/log \-v /opt/mount/rancher/lib/cni:/var/lib/cni \-p 1443:443 \--security-opt label=disable \--shm-size 64m \rancher/rancher:v2.5.14

rancherk8s_21">3. 如何使用rancher搭建多个k8s集群?

  1. 英文不友好的同志,直接切换简体中文就行(喜欢强迫自己看英文的,推荐:先中文熟悉几遍,之后再切换回英文,不然容易自闭)。

image.pngimage.png

  1. 直接根据页面操作
  • 添加集群 =》 选择集群类型(一般 自定义) =》 填写集群相关信息,下一步,执行每个节点要对应的相关命令即可。
  1. 等待创建,时间很长。

💡Tips:如果有爆红的提示,可以暂时不用管,会自动消除。

4. 如何在Rancher某个k8s集群中,部署一个服务?

  1. 进入项目。

image.png

💡Tips:项目 是 Rancher独有的,并不是属于k8s相关的。

  1. 点击 部署服务。

image.png

  1. 配置服务相关信息(跟 docker 那些参数一毛一样的,什么环境变量、端口映射、容器卷、缩放策略 等等)

image.png
image.png

5. 安装了Rancher了,如何在宿主机上面安装 kubectl 命令?

Rancher部署成功后,执行kubectl命令只能在控制台执行,无法再宿主机直接执行,很不方便
就需要给宿主机安装 kubectl 命令:

  1. 在 Linux 系统中安装并设置 kubectl 根据官方操作即可(也可以去github下载release)。
  • 有一个坑,那就是版本对应,最好是跟rancher搭建集群的版本一致,去rancher平台执行kubectl version能获取到kubectl的版本。
# 1. 下载指定版本的kubectl 
curl -LO https://dl.k8s.io/release/v1.19.7/bin/linux/amd64/kubectl
# 2. 验证该可执行文件
curl -LO "https://dl.k8s.io/release/v1.19.7/bin/linux/amd64/kubectl.sha256"
# 验证通过时,输出: kubectl: OK
# 3. 安装 kubectl
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
# 4. 安装成功,测试即可
kubectl version --client
  1. 复制集群的kubeconfig文件
  • kubeconfig 文件是 Kubernetes 用来配置访问 Kubernetes 集群的信息的文件。

image.png

  1. 在安装好kubectl的机器上,配置kubeconfig,将复制的文件内容全部保存在config文件中
mkdir ~/.kube
vim ~/.kube/config

💡Tips:其实,这些步骤,在rancher中,也是有向导的。也明确告诉了,安装kubectl和将配置文件,配置到何处。

image.png

  1. 这样就安装好了,执行命令测试即可。
kubectl get pods

6. Rancher 宕机了 怎么办?

如果 Rancher 服务宕机,Kubernetes 集群环境不会受到影响。在这种情况下,需要通过 命令行 来调整整个环境。
还是对应上面先安装 kubectl 那些操作,之后通过命令形式,去管理k8s或者rancher相关信息。


http://www.ppmy.cn/news/1505057.html

相关文章

go的并发任务如何优雅的实现错误终止

errgroup使用案例 在Go语言中,并发任务通常通过goroutine来实现,而错误处理和任务终止的优雅性则依赖于适当的同步机制和错误传播策略。 场景: 管理一个任务的一组子任务,每个子任务一个协程每个子任务必须保证都成功,一个出现…

注意!!可能这是系统分析师旧教程最后一次考试,赶紧学起来

系统分析师考试是全国计算机技术与软件专业技术资格考试的高级水平考试之一,它是一项专业考试,旨在通过对计算机系统的规划、分析和设计来培养行业内的专业技术人才。近日在国家版本数据中心,查到系统分析师已经有2024最新版的教程出来了&…

EasyAR_稀疏空间图

EasyAR_稀疏空间图 EasyAR4.6.3 丨 Unity2020.3.15f2 1.创建稀疏空间地图 在EasyAR开发中心后台创建Scene许可证密钥,并且使用稀疏空间地图 2.设置稀疏空间地图库名,对稀疏空间地图进行管理,设置密钥 3.复制密钥到Unity中 添加Spatial Map Ap…

Xml,Json,Protobuffer等序列化的区别。如何选型

Xml,Json,Protobuffer等序列化的区别。如何选型 序列化:将对象转换为字节序列的过程称为对象的序列化; 反序列化:将字节序列恢复为对象的过程称为对象的反序列化; 什么时候需要序列化? 当你需要把内存中的对象保存到一…

深入C# .NET核心:委托与事件机制全解析

摘要: 在C# .NET编程中,委托和事件是实现异步编程和对象间通信的关键机制。理解它们的工作原理对于编写高效、响应式的应用程序至关重要。本文将深入探讨C# .NET中的委托与事件,从基础概念到高级应用,为读者提供全面的指导。 正文…

IDC权威认可:亚信安全引跑中国DDI市场

近日,国际数据公司(IDC)正式发布了《IDC China Semiannual DDI Tracker, 2023H2》,亚信安全域名服务和地址分配及管理系统(AIDDI)凭借在企业核心网络防护中自动化、安全性、智能化的突出能力,占…

引领未来的智能革命:深度解析【人工智能】前沿技术与应用

前几天偶然发现了一个超棒的人工智能学习网站,内容通俗易懂,讲解风趣幽默,简直让人欲罢不能。忍不住分享给大家,点击这里立刻跳转,开启你的AI学习之旅吧!前言 – 人工智能教程https://www.captainbed.cn/lz…

C# ?的使用

栏目总目录 可空类型标记符(?) 说明: 可空类型标记符?用于指示某个值类型(如int、float等)可以为null。这是C# 2.0引入的一个特性,用于处理数据库查询、JSON解析等场景中可能出现的空值。 示例代码&am…