我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Kubernetes中如何使用Rancher部署K8S集群

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Kubernetes中如何使用Rancher部署K8S集群

本篇文章给大家分享的是有关Kubernetes中如何使用Rancher部署K8S集群,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

1.安装Rancher

这里使用三台机器来搭建Kubernetes集群

  • K8S-M 172.168.0.128

  • K8S-S1 172.168.0.129

  • K8S-S2 172.168.0.130

Rancher Server当前版本中有2个不同的标签。对于每一个主要的release标签,我们都会提供对应版本的文档。

  • rancher/server:latest 此标签是最新一次开发的构建版本。这些构建已经被CI框架自动验证测试。但这些release并不代表可以在生产环境部署。

  • rancher/server:stable 此标签最新一个稳定的release构建。这个标签代表推荐在生产环境中使用的版本。

PS:请不要使用任何带有 rc{n} 前缀的release。这些构建都是Rancher团队的测试构建。

这里使用Cenos7.4,并且安装好Docker-17.03.2-ce版本,在拉取稳定的Rancher-v1.6.14版本

PS:Kubernets支持的Docker版本 1.11.2 to 1.13.1 and 17.03.2

docker pull rancher/server:v1.6.14

使用一个简单的命令就可以启动一个单实例的Rancher。

> docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:v1.6.14

关闭防火墙(后续增加节点需要和主节点端口通讯需要关闭防火墙)

> systemctl stop firewalld.service    # 关闭firewall> systemctl disable firewalld.service # 禁止firewall开机启动

等待容器启动访问对应IP的8080端口的地址可以看到如下界面

Kubernetes中如何使用Rancher部署K8S集群

通过右下角可以编辑语言切换成简体中文 Kubernetes中如何使用Rancher部署K8S集群

2 外挂数据库目录(按需)

在Rancher Server容器中,如果你想使用一个主机上的卷来持久化数据库,如下命令可以在启动Rancher时挂载MySQL的数据卷。

> docker run -d -v /usr/local/rancher_mysql:/var/lib/mysql --restart=unless-stopped -p 8080:8080 rancher/server:stable

使用这条命令,数据库就会持久化在主机上。如果你有一个现有的Rancher Server容器并且想挂在MySQL的数据卷,可以参考官方的Rancher升级介绍。

Rancher使用外部数据库

除了使用内部的数据库,你可以启动一个Rancher Server并使用一个外部的数据库。启动命令与之前一样,但添加了一些额外的参数去说明如何连接你的外部数据库。

注意:在你的外部数据库中,只需要提前创建数据库名和数据库用户。Rancher会自动创建Rancher所需要的数据库表。

以下是创建数据库和数据库用户的SQL命令例子

> CREATE DATABASE IF NOT EXISTS cattle COLLATE = 'utf8_general_ci' CHARACTER SET = 'utf8';> GRANT ALL ON cattle.* TO 'cattle'@'%' IDENTIFIED BY 'cattle';> GRANT ALL ON cattle.* TO 'cattle'@'localhost' IDENTIFIED BY 'cattle';

启动一个Rancher连接一个外部数据库,你需要在启动容器的命令中添加额外参数。

docker run -d --restart=unless-stopped -p 8080:8080 rancher/server \    --db-host myhost.example.com --db-port 3306 --db-user username --db-pass password --db-name cattle

3 权限管理

机制的小伙伴都注意到了现在登录到Rancher不需要任何用户名密码,Rancher的用户体系需要自己开启

Kubernetes中如何使用Rancher部署K8S集群

可以选择很多汇总认证的方式

Kubernetes中如何使用Rancher部署K8S集群

最方便的方式就是开启本地账号认证

Kubernetes中如何使用Rancher部署K8S集群

填写好相关用户名密码之后开启本地验证下次登录就需要验证用户了,并且在后续的管理中也能进行权限控制

Kubernetes中如何使用Rancher部署K8S集群

4 Rancher多节点HA部署

在高可用(HA)的模式下运行Rancher Server与使用外部数据库运行Rancher Server一样简单,需要暴露一个额外的端口,添加额外的参数到启动命令中,并且运行一个外部的负载均衡就可以了。

HA部署需求

  • HA 节点:

    • 对于 RHEL/CentOS, 默认的 storage driver, 例如 devicemapper using loopback, 并不被Docker推荐。 请参考Docker的文档去修改使用其他的storage driver。

    • 对于 RHEL/CentOS, 如果你想使用 SELinux, 你需要 安装额外的 SELinux 组件.

    • 所有安装有支持的Docker版本的现代Linux发行版 RancherOS, Ubuntu, RHEL/CentOS 7 都是经过严格的测试。

    • 9345, 8080 端口需要在各个节点之间能够互相访问

    • 1GB内存

  • MySQL数据库

    • 选项1: 用默认COMPACT选项运行Antelope

    • 选项2: 运行MySQL 5.7,使用Barracuda。默认选项ROW_FORMAT需设置成Dynamic

    • 至少 1 GB内存

    • 每个Rancher Server节点需要50个连接 (例如:3个节点的Rancher则需要至少150个连接)

    • MYSQL配置要求

  • 外部负载均衡服务器

    • 负载均衡服务器需要能访问Rancher Server节点的 8080 端口

注意:目前Rancher中并不支持Docker for Mac

5.大规模部署建议

  • 每一个Rancher Server节点需要有4 GB 或者8 GB的堆空间,意味着需要8 GB或者16 GB内存

  • MySQL数据库需要有高性能磁盘

  • 对于一个完整的HA,建议使用一个有副本的Mysql数据库。另一种选择则是使用Galera集群并强制写入一个MySQL节点。

在每个需要加入Rancher Server HA集群的节点上,运行以下命令:

# Launch on each node in your HA cluster> docker run -d --restart=unless-stopped -p 8080:8080 -p 9345:9345 rancher/server \     --db-host myhost.example.com --db-port 3306 --db-user username --db-pass password --db-name cattle \     --advertise-address <IP_of_the_Node>

在每个节点上,<IP_of_the_Node> 需要在每个节点上唯一,因为这个IP会被添加到HA的设置中。 如果你修改了 -p 8080:8080 并在host上暴露了一个不一样的端口,你需要添加 --advertise-http-port <host_port> 参数到命令中。

注意:你可以使用 docker run rancher/server --help 获得命令的帮助信息

HA模式下的RANCHER SERVER节点

如果你的Rancher Server节点上的IP修改了,你的节点将不再存在于Rancher HA集群中。你必须停止在--advertise-address配置了不正确IP的Rancher Server容器并启动一个使用正确IP地址的Rancher Server的容器。

以上就是Kubernetes中如何使用Rancher部署K8S集群,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Kubernetes中如何使用Rancher部署K8S集群

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Kubernetes中如何使用Rancher部署K8S集群

本篇文章给大家分享的是有关Kubernetes中如何使用Rancher部署K8S集群,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1.安装Rancher这里使用三台机器来搭建K
2023-06-19

如何使用Rancher在Kubernetes上部署EMQ X集群

这篇文章主要讲解了“如何使用Rancher在Kubernetes上部署EMQ X集群”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Rancher在Kubernetes上部署EMQ X
2023-06-03

Rancher 2.4.3 - HA 部署高可用k8s集群

对于生产环境,需以高可用的配置安装 Rancher,确保用户始终可以访问 Rancher Server。当安装在Kubernetes集群中时,Rancher将与集群的 etcd 集成,并利用Kubernetes 调度实现高可用。为确保高可用
2023-01-31

k8s中如何部署redis集群

在Kubernetes中部署Redis集群通常可以通过以下步骤进行:创建Redis的ConfigMap:在Kubernetes中,可以使用ConfigMap来存储Redis的配置文件。可以通过以下命令创建一个ConfigMap:kubect
k8s中如何部署redis集群
2024-04-09

kubeadm中如何部署kubernetes集群

kubeadm中如何部署kubernetes集群,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、环境要求这里使用RHEL7.5master、etcd:192.168.10.1
2023-06-19

k8s如何部署redis集群

这篇文章主要讲解了“k8s如何部署redis集群”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“k8s如何部署redis集群”吧!redis集群搭建1.1使用redis-cli创建集群# 查看
2023-07-05

Cloud Toolkit 中如何部署 EDAS Kubernetes 集群

这期内容当中小编将会给大家带来有关Cloud Toolkit 中如何部署 EDAS Kubernetes 集群,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、在 IntelliJ IDEA 上单击 Cl
2023-06-19

如何在kubernetes上部署consul集群

这篇文章主要介绍“如何在kubernetes上部署consul集群”,在日常操作中,相信很多人在如何在kubernetes上部署consul集群问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何在kubern
2023-06-04

如何在Azure上部署Kubernetes集群

如何在Azure上部署Kubernetes集群,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在实验、演示的时候,或者是生产过程中,我经常会需要运行一些 Docker 负载。
2023-06-05

如何在Azure中部署Kubernetes容器集群

这篇文章主要讲解了“如何在Azure中部署Kubernetes容器集群”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何在Azure中部署Kubernetes容器集群”吧!在这个快速入门教程
2023-06-16

在Kubernetes集群中如何部署和配置PrometheusOperator

要在Kubernetes集群中部署和配置Prometheus Operator,可以按照以下步骤进行:部署Prometheus Operator的Custom Resource Definition (CRD)及Prometheus Ope
在Kubernetes集群中如何部署和配置PrometheusOperator
2024-03-04

使用 Golang k8s 客户端在 GKE k8s 集群中部署服务

学习知识要善于思考,思考,再思考!今天编程网小编就给大家带来《使用 Golang k8s 客户端在 GKE k8s 集群中部署服务》,以下内容主要包含等知识点,如果你正在学习或准备学习Golang,就都不要错过本文啦~让我们一起来看看吧,能
使用 Golang k8s 客户端在 GKE k8s 集群中部署服务
2024-04-05

如何使用Kubernetes集群环境部署MySQL数据库

这篇文章主要讲解了“如何使用Kubernetes集群环境部署MySQL数据库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Kubernetes集群环境部署MySQL数据库”吧!1 编
2023-06-30

怎样使用kubeadmin进行部署K8s集群

这篇文章给大家介绍怎样使用kubeadmin进行部署K8s集群,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。首先,我们来看一下整体的架构。 K8s的部署方式:yum方式部署二进制包:手动使用tar包来部署minikub
2023-06-04

如何在Kubernetes上部署Redis高可用集群

如何在Kubernetes上部署Redis高可用集群,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。 Redis 介绍Redis 代表REmote DIction
2023-06-15

基于k8s如何部署Session模式Flink集群

这篇文章主要介绍“基于k8s如何部署Session模式Flink集群”,在日常操作中,相信很多人在基于k8s如何部署Session模式Flink集群问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”基于k8s如何
2023-07-05

使用Kubeadm在CentOS7.2上部署Kubernetes集群的方法

本文参考kubernetes官网文章Installing Kubernetes on linux with kubeadm在CentOS7.2使用Kubeadm部署Kuebernetes集群,解决了一些在按照该文档部署时遇到的问题。操作系统
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录