【云原生】Rancher部署Kubernetes集群

艺帆风顺 发布于 2025-04-14 25 次阅读


Rancher部署Kubernetes集群

  • 资源列表
  • 基础环境
  • 一、Rancher介绍
    • 1.1、部署前配置
    • 1.2、部署Docker
    • 1.3、部署Rancher
    • 1.4、Web页面配置Rancher
    • 1.5、创建K8S集群
    • 1.6、查看集群状态
    • 1.7、命令行操作集群
    • 1.8、安装kubectl

资源列表

操作系统
配置
主机名
IP
组件
CentOS 7.9
2C4G
rancher
192.168.93.101
dockerrancher
CentOS 7.9
2C4G
master
192.168.93.102
dockerkubectl
CentOS 7.9
2C4G
node1
192.168.93.103
docker

基础环境

  • 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
  • 关闭内核安全机制
setenforce 0
sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config
  • 修改主机名
hostnamectl set-hostname rancher
hostnamectl set-hostname master
hostnamectl set-hostname node1

一、Rancher介绍

  • Rancher是一个开源的企业级Kubernetes管理平台,它提供了运行容器化应用程序所需的一切。无论是本地、云端还是边缘环境,Rancher都能简化所有Kubernetes集群的部署、管理和运维工作。
    • 多集群管理:Rancher支持对多个Kubernetes集群进行集中管理,无论这些集群是位于本地数据中心、公有云还是边缘位置。通过一个统一的控制面板,管理员可以轻松地查看和管理所有的集群资源。
    • 简易安装与升级:Rancher使Kubernetes的安装过程变得非常简单快捷,并且支持一键升级Kubernetes版本。此外,它还能够自动检测和适配不同环境下的Kubernetes发行版本。
    • 用户权限管理:提供灵活的基于角色的访问控制(RBAC),允许管理员为不同的用户或者团队设置特定的访问权限,确保系统的安全性。
    • 集成CI/CD管道:Rancher内置了对持续集成和持续交付的支持,使得开发者可以更容器地将代理从开发阶段推向生产环境。
    • 应用目录:用户可以通过Rancher的应用目录快速部署常用的应用程序和服务这大大减少了配置时间和复杂性。
    • 监控和告警:集成了实时监控和告警功能,帮助用户了解集群和应用的状态,及时发现并解决问题。
    • 全球支持和服务网络:作为一款企业级产品,Rancher背后有着强大的社区支持以及专业的服务团队,为企业用户提供培训、咨询和技术支持等服务。
    • 以下是Rancher的一些关键特性和优势:

1.1、部署前配置

  • 关闭swap分区
  • 所有节点都要操作
sed -ri 's/.*swap.*/#&/' /etc/fstab  # 修改swap配置文件 为关闭状态,以后开机不会启动
swapoff -a  #临时关闭,立刻关闭
  • 添加hosts解析
cat >> /etc/hosts 
192.168.93.101 rancher
192.168.93.102 master
192.168.93.103 node1
EOF
  • 时间同步
yum -y install ntpdate 
ntpdate time.windows.com
  • 流量转发
# 将桥接的 IPv4 流量传递到 iptables 的链
cat > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

cat >> /etc/sysctl.conf
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

#加载
modprobe br_netfilter
sysctl -p

sysctl --system   # 生效

1.2、部署Docker

# 安装依赖环境
yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加CentOS阿里云官方镜像站
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum clean all && yum makecache
# 安装Docker
yum -y install docker-ce docker-ce-cli containerd.io
# 启动Docker
systemctl start docker
systemctl enable docker
cd /etc/docker/
cat >> daemon.json
{  
"registry-mirrors": ["https://8xpk5wnt.mirror.aliyuncs.com"]  
}
EOF
systemctl restart docker

1.3、部署Rancher

  • Rancher版本可访问DockerHub寻找
[root@rancher ~]# docker run -d --restart=unless-stopped -p 8080:80 -p 8443:443 --privileged rancher/rancher:v2.0.8

1.4、Web页面配置Rancher

  • 访问地址:https://192.168.93.101:8443

1.5、创建K8S集群

  • Add Cluster
  • 选择自定义添加集群
  • 并且给集群起个名字
  • 创建Master节点
  • 把生成的命令访问master主机执行
[root@master ~]# sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.0.8 --server https://192.168.93.101:8443 --token 6db58mwk7tkddrmzfqwkb8s5dltbbxcjjjl5pl9xcn9fvkdhrplh8r --ca-checksum b495fbaa2f9319a57609cee15678f24e4c6288af76bae3c77632c5dd82a2b579 --etcd --controlplane
  • 创建node节点
  • 把生成的命令放到node节点执行
[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.0.8 --server https://192.168.93.101:8443 --token 6db58mwk7tkddrmzfqwkb8s5dltbbxcjjjl5pl9xcn9fvkdhrplh8r --ca-checksum b495fbaa2f9319a57609cee15678f24e4c6288af76bae3c77632c5dd82a2b579 --worker
  • 最后添加Done完成

1.6、查看集群状态

  • 如果状态没有命令报红,那么就是状态成功

1.7、命令行操作集群

  • 想要使用kubectl命令操作集群也非常简单,只需要把集群的config文件复制下载放在/root/.kube目录下,然后安装kubectl命令工具即可
# 创建所需目录
[root@master ~]# mkdir /root/.kube
# vim 一个 config 文件
[root@master ~]# vim /root/.kube/config
######
填写你自己复制的 config 文件内容保存退出即可
######

1.8、安装kubectl

cat > /etc/yum.repos.d/kubernetes.repo 
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

yum install -y kubectl
  • 查看集群状态
[root@master ~]# kubectl get node
NAME     STATUS   ROLES               AGE   VERSION
master   Ready    controlplane,etcd   8m    v1.11.2
node1    Ready    worker              7m    v1.11.2
  • Rancher部署完毕,更多玩法可以去百度

扫码加小助手微信,拉你进技术交流群🔥

我是南哥,日常分享云原生高质量文章,下面是我录制的课程,有需要可以购买!