k8s集群部署(rke + rancher)

2023-11-06

部署环境说明:

cat /etc/redhat-release

CentOS Linux release 7.9.2009 (Core)

一、使用rke命令安装 k8s集群

1、在所有节点上安装chronyd服务:

yum -y install chrony

修改chrony服务的配置文件,将时间同步服务器设置为阿里源:

vim /etc/chrony.conf

server ntp1.aliyun.com iburst

server ntp2.aliyun.com iburst

将chronyd服务设置为开机自启动,并重启chrony服务:

systemctl enable chronyd

systemctl restart chronyd

2、关闭firewalld防火墙

systemctl disable firewalld

systemctl stop firewalld

3、设置开机自动加载br_netfilter模块,并应用以下 sysctl 设置:

vim /etc/sysconfig/modules/k8s.modules

#!/bin/bash

/usr/sbin/modprobe br_netfilter

chmod +x /etc/sysconfig/modules/k8s.modules

source /etc/sysconfig/modules/k8s.modules

vim /etc/sysctl.conf

net.bridge.bridge-nf-call-iptables=1

sysctl -p

4、使用阿里源安装docker

docker-ce镜像-docker-ce下载地址-docker-ce安装教程-阿里巴巴开源镜像站

systemctl enable docker

systemctl start docker

5、使用阿里源安装kubectl,为了与k8s版本保持一致,这里安装1.21.6版本。

kubernetes镜像-kubernetes下载地址-kubernetes安装教程-阿里巴巴开源镜像站

6、新建ssh用户

# 创建admin用户

useradd admin

设置admin用户密码

passwd admin

admin用户加入docker用户组,添加到docker用户组的用户会自动获得主机的 root 权限

usermod -aG docker admin

7、禁用所有节点上的交换功能(Swap

swapoff -a

编辑配置文件/etc/fstab,永久禁用swap分区

8、SSH Server 配置

您的 SSH server 全系统配置文件,位于/etc/ssh/sshd_config,该文件必须包含以下代码,允许 TCP 转发。

AllowTcpForwarding yes

9、下载 RKE 二进制安装包

https://github.com/rancher/rke/releases/download/v1.3.2/rke_linux-amd64

对应的k8s版本为1.21.6

mv rke_linux-amd64 rke

chmod +x rke

10、配置ssh免密连接

在master执行创建ssh公私钥 并把公钥分发到各个节点上

su - admin

ssh-keygen -t rsa

ssh-copy-id admin@192.168.159.101

ssh-copy-id admin@192.168.159.102

ssh-copy-id admin@192.168.159.103

scp /home/admin/.ssh/id_rsa admin@192.168.159.102:/home/admin/.ssh/

scp /home/admin/.ssh/id_rsa admin@192.168.159.103:/home/admin/.ssh/

11、运行rke config命令,在当前路径下创建 cluster.yml文件。这条命令会引导您输入创建集群所需的所有参数。

rke config --name cluster.yml

12、使用 RKE 部署 Kubernetes 集群

创建了cluster.yml文件后,您可以运行以下命令部署集群。这条命令默认cluster.yml已经保存在了您运行命令所处的路径下。

rke up

运行该命令后,返回的最后一行信息应该是Finished building Kubernetes cluster successfully,表示成功部署集群,可以开始使用集群。在创建 Kubernetes 集群的过程中,会创建一个kubeconfig 文件,它的文件名称是 kube_config_cluster.yml,您可以使用它控制 Kubernetes 集群。

export KUBECONFIG=/home/admin/kube_config_cluster.yml

[admin@localhost ~]$ ls

cluster.rkestate  cluster.yml  kube_config_cluster.yml

[admin@localhost ~]$ scp * admin@192.168.159.102:/home/admin/

[admin@localhost ~]$ scp * admin@192.168.159.103:/home/admin/

cat /etc/profile.d/k8s.sh

#!/bin/bash

export KUBECONFIG=/home/admin/kube_config_cluster.yml

scp /etc/profile.d/k8s.sh root@192.168.159.102:/etc/profile.d/

scp /etc/profile.d/k8s.sh root@192.168.159.103:/etc/profile.d/

二、Helm Chart 安装 Rancher

https://get.helm.sh/helm-v3.8.2-linux-amd64.tar.gz

chown root.root helm

mv helm /usr/local/bin/

1、添加 Helm Chart 仓库

使用helm repo add命令添加含有 Rancher Chart Helm Chart 仓库。

helm repo add rancher-stable http://rancher-mirror.oss-cn-beijing.aliyuncs.com/server-charts/stable

2、 Rancher 创建 Namespace

我们需要定义一个 Kubernetes Namespace,在 Namespace 中安装由 Chart 创建的资源。这个命名空间的名称为 cattle-system

kubectl create namespace cattle-system

3、安装 cert-manager

如果你使用自己的证书文件 ingress.tls.source=secret或者使用外部 TLS 负载均衡器可以跳过此步骤。仅在使用 Rancher 生成的证书 ingress.tls.source=rancher  Let's Encrypt 颁发的证书 ingress.tls.source=letsEncrypt时才需要 cert-manager

# 如果你手动安装了CRD,而不是在Helm安装命令中添加了`--set installCRDs=true`选项,你应该在升级Helm chart之前升级CRD资源。

kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.1/cert-manager.crds.yaml

或者下载cert-manager.crds.yaml这个文件后执行:kubectl apply -f cert-manager.crds.yaml

# 添加 Jetstack Helm 仓库

helm repo add jetstack https://charts.jetstack.io

# 更新本地 Helm chart 仓库缓存

helm repo update

# 安装 cert-manager Helm chart(会卡顿一会,不要取消命令的执行)

helm install cert-manager jetstack/cert-manager \

  --namespace cert-manager \

  --create-namespace \

  --version v1.5.1

安装完 cert-manager 后,你可以通过检查 cert-manager 命名空间中正在运行的 Pod 来验证它是否已正确部署:

[admin@localhost ~]$ kubectl get pods --namespace cert-manager

NAME                                      READY   STATUS    RESTARTS   AGE

cert-manager-56b686b465-gndz4             1/1     Running   0          45m

cert-manager-cainjector-75c94654d-tlzd7   1/1     Running   0          45m

cert-manager-webhook-69bd5c9d75-4rnx7     1/1     Running   0          45m

4、通过 Helm 安装 Rancher

helm install rancher rancher-stable/rancher --namespace cattle-system  --set hostname=rancher.test.org --version v2.5.9 --set replicas=1

等待 Rancher 运行:

[admin@localhost ~]$ kubectl -n cattle-system rollout status deploy/rancher

Waiting for deployment "rancher" rollout to finish: 0 of 1 updated replicas are available...

5、验证 Rancher Server 是否已成功部署

[admin@localhost ~]$ kubectl -n cattle-system rollout status deploy/rancher

deployment "rancher" successfully rolled out

如果看到以下错误: error: deployment "rancher" exceeded its progress deadline, 你可以通过运行以下命令来检查 deployment 的状态:

kubectl -n cattle-system get deploy rancher

6、 保存你的选项

请保存你使用的全部 --set 选项。使用 Helm 升级 Rancher 到新版本时,你将需要使用相同的选项。

7、安装完成

现在你应该具有一个功能正常的 Rancher Server 了。

打开浏览器,通过 Helm 指定的 hostname 设置的域名来访问你的 Rancher Server。如果你的环境没有设置公共 DNS 解析,你可以在 hosts 文件中手动映射域名和 IP 的解析记录。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

k8s集群部署(rke + rancher) 的相关文章

随机推荐

  • 优化基于FPGA的深度卷积神经网络的加速器设计

    英文论文链接 http cadlab cs ucla edu cong slides fpga2015 chen pdf 翻译 卜居 转载请注明出处 http blog csdn net kkk584520 article details
  • 【开发工具】WebStorm 前端开发神器菜鸟必备,全网最稳定靠谱的安装教程 一镜到底、全程图文并茂、通俗易懂!

    个人主页 极客小俊 作者简介 web开发者 设计师 技术分享博主 希望大家多多支持一下 我们一起进步 如果文章对你有帮助的话 欢迎评论 点赞 收藏 加关注 介绍 WebStorm号称最智能的前端开发IDE 适用于前端开发和相关技术的集成开发
  • Unity世界坐标转换屏幕坐标(详解)

    我们先通过简单的操作实现一下基础的UI跟随物体移动的功能 首先我们在场景中建立一个Canvas并且添加一个图片作为按钮 之后我们添加一个3d物体作为跟随目标 效果如下图所示 我们配置一下UICanvas的属性 书写对应的自定义类并添加至UI
  • 【QT实战】第三章 将类中的成员函数放在多线程中执行

    作者主页 凉开水白菜 作者简介 共同学习 互相监督 热于分享 多加讨论 一起进步 专栏目录 零基础学QT 文章导航篇 专栏资料 https pan baidu com s 192A28BTIYFHmixRcQwmaHw 提取码 qtqt 点
  • css3平移、旋转、倾斜、缩放、动画效果的实现

    HTML代码 div class button div div class canResize esdrtgyjikodrtgujiokpsedtgyhij div div class transition div ul li li li
  • Unity优化总结(持续更新)

    工欲善其事 必先利其器 优先利用性能分析工具快速找出性能瓶颈 从瓶颈入手分析性能问题产生原因 可以事半功倍 尽量减少占用的内存 资源体积 和CPU 计算量 首先着重减少总量才能更好的进行后续细节的优化 总量降低后 性能依旧有问题 那么可以考
  • SpringBoot主类解析(四)

    SpringBoot主类 import org springframework boot Banner import org springframework boot SpringApplication import org springf
  • 51 Job招聘数据分析与可视化

    招聘数据分析与可视化 背景 为了分析现有数据行业的招聘情况 抓取2017年3月14日到2017年5月13日发布在51Job上的数据相关招聘职位116273条信息 并从中筛选出职位是数据分析 数据挖掘 文本挖掘 视觉学习 计算广告 数据开发
  • Spring-AOP的基本介绍以及通过先动态代理方式实现

    前言 本篇的Spring AOP系类文章第一篇详细的讲解了Spring AOP的介绍以及通过先动态代理在使用AOP由浅入深更容易理解 个人主页 尘觉主页 https blog csdn net apple 67445472 type blo
  • 警告当当成错误 may be used uninitialized in this function [-Werror=maybe-uninitialized]

    如果是ubuntu20版本 或者gcc版本太高 可能有些警告会当成错误导致编译出错 error may be used uninitialized in this function Werror maybe uninitialized cc
  • 1600*C. Binary String Copying

    https codeforces com problemset problem 1849 C Binary String Copying 洛谷 解析 对于某个区间x y 他排序之后 最左侧的连续0和最右侧的连续1是不影响排序结果的 假设左侧
  • Java7大数据结构

    Java数据结构 简书
  • FISCO BCOS 联盟链Pro搭建

    FISCO BCOS Pro版本 版本说明 FISCO BCOS 3 0支持Pro版本微服务区块链架构 Pro版本FISCO BCOS包含RPC服务 Gateway服务和节点服务 每个服务均可独立部署和扩容 本章通过单机搭建Pro版本2节点
  • 目标检测模型设计准则

    转载 https mp weixin qq com s 5SjQvRqRct6ClpE2eEcdkw 设计高效 高质量的表达性网络架构一直是深度学习领域最重要的研究课题 当今的大多数网络设计策略都集中于如何集成从不同层提取的特征 以及如何设
  • windows系统下安装linux(centos7)虚拟机详细教程(virtualbox环境)

    目录 一 概念 1 1 什么是镜像 1 2 关于镜像的基本概念 二 centos镜像下载 2 1 centos官网下载镜像 2 2 通过其他官网下载镜像 三 下载virtualbox 3 1 为什么要使用virtualbox 3 2 下载v
  • 极简java实现理解单例模式核心

    问 单例模式意义 在项目中 有的对象只需要存在一个就足够了 多创建对象则会浪费资源 单例模式可以保证项目对象只存在一个 且不会被多次创建 java实现例子 最少代码 public class Singleton public static
  • ABP模块系统学习及使用

    ABP模块系统简介 参考 ABP中配置的注册和初始化 ABP模块系统 ABP 源码解析 一 ABP启动 ABP框架提供了创建和组装模块的基础 一个模块能够依赖于另一个模块 在通常情况下 一个程序集就可以看成是一个模块 在ABP框架中 一个模
  • verilog搭建16位加法器记录时钟信号、实现24小时时钟

    构建一个4位BCD计数器 每个十进制数字用4位编码 q 3 0 是个位 q 7 4 是十位 以此类推 对于数字 3 1 也输出一个enable信号 表示什么时候需要增加上面三位数字 参考输出 代码 module top module inp
  • 通过uvm_printer的print_generic进行扩展打印

    uvm的field automation机制实现的其中一项功能就是sprint功能 该函数通过调用do print函数实现 在某些情况的 uvm的打印功能不是我们所期望的 比如多维数组的field automation机制就不支持 stru
  • k8s集群部署(rke + rancher)

    部署环境说明 cat etc redhat release CentOS Linux release 7 9 2009 Core 一 使用rke命令安装 k8s集群 1 在所有节点上安装chronyd服务 yum y install chr