基于Rancher实现kubernetes集群管理

  • 1.Rancher介绍
    • 2.Rancher部署
    • 添加kubernetes集群
      • 3.Rancher简单操作

1.Rancher介绍

Rancher可以通过图形化操作的方式管理kubernetes集群
Rancher 是为使用容器的公司打造的容器管理平台。Rancher 简化了使用 Kubernetes 的流程,开发者可以随处运行 Kubernetes(Run Kubernetes Everywhere),满足 IT 需求规范,赋能 DevOps 团队。

Kubernetes 已经成为了容器管理的标准。大多数云服务和虚拟服务的提供商现在将 Kubernetes 作为标准的基础设施。用户可以使用 Rancher Kubernetes Engine(简称 RKE),或其他云服务提供商的容器服务,如 GKE、AKS、 EKS 等,创建 Kubernetes 集群。用户也可以将已有集群导入 Rancher,集中管理。
Rancher架构

2.Rancher部署

主机准备

主机名 资源 操作系统 主机IP
rancher Vcpu_4个 - Mem_8G - Disk_100G CentOS8u2 172.20.251.129
node1 Vcpu_4个 - Mem_8G - Disk_100G CentOS8u2 172.20.251.115
node2 Vcpu_4个 - Mem_8G - Disk_100G CentOS8u2 172.20.251.105

以下操作需在所有主机执行

[root@rancher ~]# hostnamectl set-hostname xxx
# 主机名
[root@rancher ~]# cat >> /etc/hosts << EOF
> 172.20.251.129 rancher
> 172.20.251.115 node1
> 172.20.251.105 node2
> EOF
# 主机名解析
[root@rancher ~]# dnf -y install vim bash-completion
[root@rancher ~]# source /etc/profile.d/bash_completion.sh
# 安装小工具
[root@rancher ~]# systemctl stop firewalld && systemctl disable firewalld
[root@rancher ~]# setenforce 0
[root@rancher ~]# sed -ri "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
# 关闭防火墙及selinux
[root@rancher ~]# dnf -y install chrony
[root@rancher ~]# timedatectl set-timezone "Asia/Shanghai"
[root@rancher ~]# systemctl restart chronyd && systemctl enable chronyd
# 时间同步
[root@rancher ~]# cat >> /etc/sysctl.conf <<EOF
> net.ipv4.ip_forward=1
> net.bridge.bridge-nf-call-iptables=1
> net.ipv4.neigh.default.gc_thresh1=4096
> net.ipv4.neigh.default.gc_thresh2=6144
> net.ipv4.neigh.default.gc_thresh3=8192
> EOF
# 开启路由转发,性能调优
[root@rancher ~]# cat >> /etc/sysconfig/modules/load.mod <<EOF
> #!/bin/bash
> mods=(
> br_netfilter
> ip6_udp_tunnel
> ip_set
> ip_set_hash_ip
> ip_set_hash_net
> iptable_filter
> iptable_nat
> iptable_mangle
> iptable_raw
> nf_conntrack_netlink
> nf_conntrack
> nf_conntrack_ipv4
> nf_defrag_ipv4
> nf_nat
> nf_nat_ipv4
> nf_nat_masquerade_ipv4
> nfnetlink
> udp_tunnel
> VETH
> VXLAN
> x_tables
> xt_addrtype
> xt_conntrack
> xt_comment
> xt_mark
> xt_multiport
> xt_nat
> xt_recent
> xt_set
> xt_statistic
> xt_tcpudp
> )
> for mod in ${mods[@]};do
>     modprobe $mod
>         lsmod |grep $mod
> done
> EOF
# 创建加载模块脚本
[root@rancher ~]# chmod +x /etc/sysconfig/modules/load.mod
# 为脚本添加执行权限
[root@rancher ~]# source /etc/sysconfig/modules/load.mod
[root@rancher ~]# sysctl -p
net.ipv4.ip_forward = 1
sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-iptables: No such file or directory
net.ipv4.neigh.default.gc_thresh1 = 4096
net.ipv4.neigh.default.gc_thresh2 = 6144
net.ipv4.neigh.default.gc_thresh3 = 8192
# 执行脚本,生效配置
[root@rancher ~]# sudo yum install -y yum-utils
# 安装yum-utils工具
[root@rancher ~]# sudo yum-config-manager \
>     --add-repo \
>     https://download.docker.com/linux/centos/docker-ce.repo
Adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
# 增加docker-ce的yum源
[root@rancher ~]# sudo yum-config-manager --enable docker-ce-nightly
[root@rancher ~]# sudo yum-config-manager --enable docker-ce-test
# 可选
[root@rancher ~]# sudo yum -y install docker-ce docker-ce-cli containerd.io
# 安装docker-ce
[root@rancher ~]# mkdir -p /etc/docker
[root@rancher ~]# cat >> /etc/docker/daemon.json <<EOF
> {>   "registry-mirrors": ["https://32yzbld0.mirror.aliyuncs.com"]
> }
> EOF
# 配置镜像加速器
[root@rancher ~]# systemctl daemon-reload
# 重新加载配置文件
[root@rancher ~]# systemctl restart docker && systemctl enable docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
# 重启docker并设置开机自启

启动Rancher(rancher节点操作)

[root@rancher ~]# docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --name rancher --privileged -v /var/lib/rancher/:/var/lib/rancher/ rancher/rancher:stable
...
32b1c3e4c3f81e3ba3063981d84dde599f3b518d4cd241e73c97a253e246a50c
# 运行Rancher容器

网页访问rancher(172.20.251.151)

点击高级

点击继续前往

[root@rancher ~]# docker ps
CONTAINER ID   IMAGE                    COMMAND           CREATED         STATUS              PORTS                                                                      NAMES
32b1c3e4c3f8   rancher/rancher:stable   "entrypoint.sh"   3 minutes ago   Up About a minute   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   rancher
# 查看当前运行的容器
[root@rancher ~]# docker logs 32 2>&1 | grep "Bootstrap Password:"
2022/04/26 01:29:22 [INFO] Bootstrap Password: gg8bp9fhpj764nksbpdcl8q8fjhs8qnkrwzfnjktf7w22wcm4nt4qx
# 获取密码

粘贴上去

点击Log in with Local User


选择自己设置密码,注意不能少于12位,完成之后勾选下面我同意选项,点击continue

成功进入Rancher

添加kubernetes集群


下滑主界面找到Create,点击

选择Custom


输完名字后下滑找到next点击


勾选etcd和Control Plane,复制下面一段代码在node1和node2执行

[root@node1 ~]# sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run  rancher/rancher-agent:v2.6.3 --server https://172.20.251.151 --token m77q9mjhbwnzqts2h7trmvlvbw8z4lfh9989xblnwgqmmhbzpzvq2z --ca-checksum d3d846fe2e185247d2f066b623b6ef8f1f3b72b9e46177fa96473fb45ac54e31 --etcd --controlplane --worker
...
2b4fe0e6f4e255deefc3108ea7e302038c9094389928a81b837b9a4b5a26ef98
[root@node2 ~]# sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run  rancher/rancher-agent:v2.6.3 --server https://172.20.251.151 --token m77q9mjhbwnzqts2h7trmvlvbw8z4lfh9989xblnwgqmmhbzpzvq2z --ca-checksum d3d846fe2e185247d2f066b623b6ef8f1f3b72b9e46177fa96473fb45ac54e31 --etcd --controlplane --worker
...
defab1ca0668b7863e05a3617720072c154d8f384780781c5bf2009977b85665


当两个节点都执行完毕下方就会出现提示,这时点击Done即可
可以看到node1和node2节点均为Active状态

3.Rancher简单操作


设置简体中文

部署一个Deployments类型的工作负载

点击进入test集群

点击工作负载,选择Deployments

创建Deployments

自定义Deployment,添加端口映射,下滑点击创建

等待一会,发现均为Ready,成功

基于Rancher实现kubernetes集群管理相关推荐

  1. Kubernetes 学习总结(19)—— Kubernetes 集群管理平台如何选择?Rancher vs KubeSphere

    前言 Kubernetes(K8s)集群管理平台都是基于 Kubernetes 提供功能,可以说他们是在 K8s 的基础上封装了一层更为友好的操作方式.他们都是为了降低 k8s 集群运维复杂度,降低运 ...

  2. 美团点评Kubernetes集群管理实践

    背景 作为国内领先的生活服务平台,美团点评很多业务都具有非常显著.规律的"高峰"和"低谷"特征.尤其遇到节假日或促销活动,流量还会在短时间内出现爆发式的增长.这 ...

  3. 搭建kubernetes集群管理平台

    一. kubernetes和相关组件介绍 1. kubernetes概述 Kubernetes是google开源的容器集群管理系统,基于docker构建一个容器的调度服务,提供资源调度.均衡容灾.服务 ...

  4. 基于 Swarm 的 Docker 集群管理

    文章目录 基于 Swarm 的 Docker 集群管理 一.Swarm简介 1.Swarm 模式简介 2.Swarm 特性 3.Swarm 主要概念 (1)开始使用Swarm模式 (2)安装环境要求 ...

  5. 基于Python+Django的Kubernetes集群管理平台

    时至今日,接触kubernetes也有一段时间了,而我们的大部分业务也已经稳定地运行在不同规模的kubernetes集群上,不得不说,无论是从应用部署.迭代,还是从资源调度管理等方面都有其难以言喻的优 ...

  6. 4、kubernetes 集群管理工具 kubectl

    文章目录 kubectl概述 K8s kubectl 命令自动补全 kubectl的常用子命令(command) kubernetes资源对象类型(type) kubectl 常用命令总结 kubec ...

  7. 基于CNI保护Kubernetes集群中的主机

    原文发表于kubernetes中文社区,为作者原创翻译 ,原文地址 更多kubernetes文章,请多关注kubernetes中文社区 目录 DaemonSet解决方案概述 创建应用程序 创建一个Do ...

  8. 云原生第4课:Kubernetes 集群管理

    本篇文章来自<华为云云原生王者之路训练营>黄金系列课程第4课,由华为云Kubernetes容器平台技术专家Alan主讲,详细介绍Kubernetes集群和Kubernetes节点的生命周期 ...

  9. K9s之Kubernetes集群管理交互工具实践

    文章目录: 0x01 基础简介 0x02 安装实践 安装流程 配置示例 0x02 命令实践 命令参数 简单使用 0x01 基础简介 K9s - Kubernetes CLI To Manage You ...

最新文章

  1. 保存csv时, 不保留index
  2. java 获取java文件路径_Java怎么获取相对路径下所有的.java文件的信息
  3. 爬虫程序,从图片网站或者贴吧爬取图片(含代码)
  4. Windows phone 应用开发[3]-UI 设计
  5. 初等代数(1):数的分类、基本运算规律、乘法及其因式分解公式、公式、比例、根式
  6. Women Don’t Like Questions. Is it True?
  7. Oracle 11g R2 ADG 运维
  8. c语言int grade 5,C语言补考!!!
  9. C#实现10进制转2进制
  10. autojs自动添加QQ群成员好友脚本,QQ爆粉源码
  11. 编写Java程序,使用抽象类和抽象方法构建不同动物的扑食行为,抽象类设计
  12. Android:使用Jetpack Compose画渐变背景
  13. 渗透之SQL注入-MYSQL常用语法
  14. Java开发工程师应届生春招秋招总结
  15. 通过“偷”的方式对网站进行推广
  16. Oracle数据库(索引、视图、伪列与伪表)
  17. 【液体倒进电脑了怎么办:个人处理经验】
  18. 写给通信年轻人的27个忠告
  19. Linux学习笔记week1
  20. Python量化代码源码160个,聚宽直接使用,已全部整理

热门文章

  1. 2022-9-19周报
  2. 某市出租车,起步价(2 公里以内)为 8 元,超过 2 公里的按照每公里 4.5 元计算。要求根据路程计算费用。
  3. 光学设计机械设计---8倍潜望镜的设计
  4. 华章IT 15周年 评选你心目中10种最有影响力的图书 参与评选即有机会免费领取华章精品图书...
  5. 什么是地弹噪声——信号完整性分析
  6. 20个有用的Excel数据分析函数(教程含案例)
  7. 好的学习视频教程,可以在线观看
  8. 为CentOS安装防DDOS攻击软件DDoS-Deflate
  9. H3C路由器命令查看arp表(mac与ip对应关系)
  10. sql数据库入门(1)