【K8s】专题三(6):Kubernetes 安装方法之 RKE

以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号!

公众号二维码


目录

一、RKE 简介

二、RKE 下载、安装

三、RKE 部署 Kubernetes 集群

四、RKE 常用命令

五、写在最后


一、RKE 简介

RKE 即 Rancher Kubernetes Engine,是由 Rancher 发布的一个极其简单、快速的 Kubernetes 安装程序,简化了 Kubernetes 集群的部署过程。

RKE 经过 CNCF 认证,支持多种操作系统,包括 MacOS、Linux 和 Windows,可以在裸金属服务器(BMS)和虚拟服务器(Virtualized Server)上运行。

RKE 会自动安装 CNI 插件、Ingress-Contoller 等组件。

RKE 项目地址:GitHub - rancher/rke

RKE 官网文档:产品简介 | Rancher文档


二、RKE 下载、安装
# AMD架构
wget -O /usr/bin/rke https://github.com/rancher/rke/releases/download/v1.5.9/rke_linux-amd64
chmod +x /usr/bin/rke
 
# ARM架构
wget -O /usr/bin/rke https://github.com/rancher/rke/releases/download/v1.5.9/rke_linux-arm64
chmod +x /usr/bin/rke
 
# 查看版本信息
rke -v


三、RKE 部署 Kubernetes 集群

1、准备工作

# 关闭防火墙
systemctl disable --now firewalld
 
# 关闭 selinxu
setenforce 0
sed -i ’s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
 
# 清空 iptables 规则
iptables -F && iptables -t nat -F
 
# 禁用 swap 分区
swapoff -a
sed -i '/swap / s/^\(.*\)$/#\1/g' /etc/fstab
 
# 配置主机间 SSH 免密(详细过程略)
 
# 安装 docker(详细过程略)

# 配置用户组
vi /etc/docker/daemon.json,添加 "group": "dockerroot"
systemctl daemon-reload && systemctl restart docker

ll /var/run/docker.sock
srw-rw---- 1 root dockerroot 0 May 17 14:05 /var/run/docker.sock

# 创建用户
useradd rke

# 加入用户组
usermod -aG dockerroot rke

# 切换用户、配置免密(不能在 root 用户下执行后续操作)
su - rke
cd .ssh && ssh-keygen -f id_rsa
cat id_rsa.pub >> authorized_keys
chmod 0600 authorized_keys 

2、创建配置

cat > cluster.yml <<EOF
cluster_name: mycluster
kubernetes_version: v1.27.13-rancher1-1
nodes:
  - address: 172.16.100.1
    user: rke
    role:
      - controlplane
      - etcd
    ssh_key_path: /home/rke/.ssh/id_rsa
    port: 22
  - address: 172.16.100.2
    user: rke
    role:
      - worker
    ssh_key_path: /home/rke/.ssh/id_rsa
    port: 22
EOF

3、部署集群

  • 方式一(默认方式)
rke up --config cluster.yml
cp kube_config_cluster.yml .kube/config

🔔 最后一行返回 Finished building Kubernetes cluster successfully 表明创建成功
🔔 同时生成名为 kube_config_cluster.yml 的 kubeconfig 文件
🔔 所有集群组件均以 Docker 容器方式运行
CONTAINER ID   IMAGE                                  COMMAND                  CREATED         STATUS              PORTS     NAMES
a94cdfa21cee   aba045951c44                           "/usr/bin/dumb-init …"   2 minutes ago   Up About a minute             k8s_controller_nginx-ingress-controller-z5vss_ingress-nginx_4cbff6e0-50ca-44b8-92a1-700553676379_0
7a303c87f0a8   rancher/mirrored-pause:3.7             "/pause"                 2 minutes ago   Up About a minute             k8s_POD_nginx-ingress-controller-z5vss_ingress-nginx_4cbff6e0-50ca-44b8-92a1-700553676379_0
d86e48e62ef5   b9a5a1927366                           "/metrics-server --c…"   2 minutes ago   Up 2 minutes                  k8s_metrics-server_metrics-server-657c74b5d8-zb97m_kube-system_8e54757a-7a0b-4bac-8707-ffd0be094950_0
2c03a80e4ce2   rancher/mirrored-pause:3.7             "/pause"                 2 minutes ago   Up 2 minutes                  k8s_POD_metrics-server-657c74b5d8-zb97m_kube-system_8e54757a-7a0b-4bac-8707-ffd0be094950_0
da682bea8dff   2635ad6e71aa                           "/cluster-proportion…"   2 minutes ago   Up 2 minutes                  k8s_autoscaler_coredns-autoscaler-6ff6bf758-v4chr_kube-system_780fd508-ae81-44f2-9036-55b7de27d1d6_0
7d42c99d7fe2   ead0a4a53df8                           "/coredns -conf /etc…"   2 minutes ago   Up 2 minutes                  k8s_coredns_coredns-54cc789d79-5b487_kube-system_baed273d-6438-4f58-a39c-ad6cdcf06b74_0
16aa23b63ed8   rancher/mirrored-pause:3.7             "/pause"                 2 minutes ago   Up 2 minutes                  k8s_POD_coredns-autoscaler-6ff6bf758-v4chr_kube-system_780fd508-ae81-44f2-9036-55b7de27d1d6_0
fcc86abd24a6   rancher/mirrored-pause:3.7             "/pause"                 2 minutes ago   Up 2 minutes                  k8s_POD_coredns-54cc789d79-5b487_kube-system_baed273d-6438-4f58-a39c-ad6cdcf06b74_0
a1425a946e19   4e87edec0297                           "/usr/bin/kube-contr…"   2 minutes ago   Up 2 minutes                  k8s_calico-kube-controllers_calico-kube-controllers-5b564d9b7-hcx8t_kube-system_28099c95-0e44-477c-a4ee-7040193c9d4d_0
2bed07ea7b10   rancher/mirrored-pause:3.7             "/pause"                 2 minutes ago   Up 2 minutes                  k8s_POD_calico-kube-controllers-5b564d9b7-hcx8t_kube-system_28099c95-0e44-477c-a4ee-7040193c9d4d_1
52d056f1d42a   f9c73fde068f                           "/opt/bin/flanneld -…"   2 minutes ago   Up 2 minutes                  k8s_kube-flannel_canal-d7twg_kube-system_3c098334-d690-4411-a51c-eb659446d1e1_0
2b75514aa002   1843802b91be                           "start_runit"            2 minutes ago   Up 2 minutes                  k8s_calico-node_canal-d7twg_kube-system_3c098334-d690-4411-a51c-eb659446d1e1_0
a4a584125e81   rancher/mirrored-pause:3.7             "/pause"                 2 minutes ago   Up 2 minutes                  k8s_POD_canal-d7twg_kube-system_3c098334-d690-4411-a51c-eb659446d1e1_0
efae15a3e11f   rancher/hyperkube:v1.28.9-rancher1     "/opt/rke-tools/entr…"   2 minutes ago   Up 2 minutes                  kube-proxy
4c00b668f68b   rancher/hyperkube:v1.28.9-rancher1     "/opt/rke-tools/entr…"   2 minutes ago   Up 2 minutes                  kubelet
8bda1f517147   rancher/hyperkube:v1.28.9-rancher1     "/opt/rke-tools/entr…"   2 minutes ago   Up 2 minutes                  kube-scheduler
50a74e8f5946   rancher/hyperkube:v1.28.9-rancher1     "/opt/rke-tools/entr…"   3 minutes ago   Up 3 minutes                  kube-controller-manager
0ba10b2e326e   rancher/hyperkube:v1.28.9-rancher1     "/opt/rke-tools/entr…"   3 minutes ago   Up 3 minutes                  kube-apiserver
6df5ad3c1321   rancher/rke-tools:v0.1.96              "/docker-entrypoint.…"   3 minutes ago   Up 3 minutes                  etcd-rolling-snapshots
17d72af609fc   rancher/mirrored-coreos-etcd:v3.5.10   "/usr/local/bin/etcd…"   3 minutes ago   Up 3 minutes
  • 方式二(dind方式)
rke up --config cluster.yml --dind
cp kube_config_cluster.yml .kube/config

🔔 最后一行返回 Finished building Kubernetes cluster successfully 表明创建成功
🔔 同时生成名为 kube_config_cluster.yml 的 kubeconfig 文件
🔔 所有集群组件均以 Docker in Docker 方式运行
CONTAINER ID   IMAGE                                              COMMAND                  CREATED          STATUS          PORTS           NAMES
6fbd35ab313a   docker:20.10.23-dind                               "sh -c 'mount --make…"   5 minutes ago    Up 5 minutes    2375-2376/tcp   rke-dind-172.16.100.1

4、实测结果

Kubernetes 集群组件均以容器方式运行。


四、RKE 常用命令
rke -h
NAME:
   rke - Rancher Kubernetes Engine, an extremely simple, lightning fast Kubernetes installer that works everywhere

USAGE:
   rke [global options] command [command options] [arguments...]

VERSION:
   v1.5.9

AUTHOR:
   Rancher Labs, Inc.

COMMANDS:
   up       Bring the cluster up
   remove   Teardown the cluster and clean cluster nodes
   version  Show cluster Kubernetes version
   config   Setup cluster configuration
   etcd     etcd snapshot save/restore operations in k8s cluster
   cert     Certificates management for RKE cluster
   encrypt  Manage cluster encryption provider keys
   util     Various utilities to retrieve cluster related files and troubleshoot
   help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --debug, -d    Debug logging
   --quiet, -q    Quiet mode, disables logging and only critical output will be printed
   --trace        Trace logging
   --help, -h     show help
   --version, -v  print the version
# 查看集群版本
rke version

# 生成配置(交互方式)
rke config --name cluster.yml

# 生成配置(空模版)
rke config --name cluster.yml --empty

# 清理集群,可选参数:--config 指定配置,--force 强制清理
rke remove


五、写在最后

本文之后,关于 kubernetes 安装方法的专题介绍将告一段落,各位读者可以按照自己的喜好以及需求场景,选择部署 kubernetes 集群的方法。

此外,笔者还使用和验证过 kubeadm、kubeasz、kubekey 等工具,以及二进制方式手动安装 kubernetes 的方法,感兴趣的读者可以私信留言,了解相关信息。

  • 17
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行者Sun1989

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值