概述
Rancher Kubernetes Engine(RKE)是一个用于部署、管理和运行Kubernetes集群的开源工具。旨在简化Kubernetes集群的部署和操作。
RKE具有以下特点和功能:
简化的部署过程
RKE提供了一个简单的命令行界面,使您可以轻松地部署一个完整的Kubernetes集群。您只需提供少量的配置信息,RKE将自动处理底层节点的配置和组网,并在节点上安装所需的Kubernetes组件。
可移植性和灵活性
RKE支持多种操作系统和云平台,包括Linux、Windows、AWS、Azure、GCP等。它可以在各种环境中运行,包括物理机、虚拟机和云实例。这使得您可以在不同的基础设施上轻松部署和迁移Kubernetes集群。
安全和可靠性
RKE提供强大的安全功能,可以配置TLS加密通信、RBAC访问控制和Pod安全策略等。它还支持节点故障检测和自动修复,确保集群的高可用性和稳定性。
可扩展性和高性能
RKE支持水平扩展,可以轻松地添加或删除节点,以满足不同负载和需求。它还提供了灵活的网络和存储选项,以适应各种应用场景,并提供高性能的容器调度和管理。
集成和扩展
RKE与Rancher管理平台紧密集成,可以通过Rancher提供的图形界面进行集群管理、监控和操作。此外,RKE还支持使用Helm进行应用程序的部署和管理,以及使用其他插件和工具进行功能扩展。
下面介绍如何使用rancher的rke如何快速实现生产级别k8s集群安装。
修改主机名称
vi /etc/hosts- 172.18.1.55 master
- 172.18.1.58 worker01
- 172.18.1.59 worker02
- 172.18.1.60 worker03
复制代码 安装docker
- $ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
- $ yum -y install docker-ce-23.0.1 docker-ce-cli-23.0.1
复制代码
设置开启并启动docker- $ systemctl enable docker && systemctl start docker
复制代码 添加rancher用户
在每台节点创建rancher用户- $ useradd rancher
- $ usermod -aG docker rancher
- $ echo 123|passwd --stdin rancher
复制代码
下载rke客户端
访问https://github.com/rancher/rke/releases/tag/v1.4.9 下载rke客户端
Linux 用户请运行以下命令:运行以下命令,将 RKE 安装包转为可执行文件- $ mv rke /usr/local/bin/
- $ chmod +x rke
复制代码 生成ssh证书
复制证书到集群中所有集群
- $ ssh-copy-id rancher@master
- $ ssh-copy-id rancher@worker01
- $ ssh-copy-id rancher@worker02
- $ ssh-copy-id rancher@worker03
复制代码
验证ssh证书是否可用
创建RKE安装配置文件
cluster.yml
这里注意cluster.yml的flannel_iface属性值是出口网卡名称
执行安装
kubetl安装
下载,如果服务器下载失败,通过本地下载上传到服务器- $ curl -LO https://dl.k8s.io/release/v1.24.0/bin/linux/amd64/kubectl
复制代码 安装- $ sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
复制代码 验证- $ kubectl version --client
复制代码
创建.kube文件夹拷贝配置文件- $ mv kube_config_cluster.yml ~/.kube/config
复制代码 k8s验证
kubectl配置完成以后,执行以下命令进行验证,可以看到节点状态正常- $ kubectl get pods -n kube-system
复制代码
Helm 安装
在master机器安装helm
下载- $ wget https://get.helm.sh/helm-v3.7.2-linux-amd64.tar.gz
复制代码 解压- $ tar -zxvf helm-v3.7.2-linux-amd64.tar.gz
复制代码 拷贝- $ sudo cp linux-amd64/helm /usr/local/bin
复制代码 验证
使用Helm安装rancher
添加 Helm Chart 仓库
- $ helm repo add rancher-stable https://rancher-mirror.rancher.cn/server-charts/stable
复制代码 签名证书
create_self-signed-cert.sh 自签脚本
执行脚本生成签名证书- $ ./create_self-signed-cert.sh --ssl-domain=test-rancher.com --ssl-size=2048 --ssl-date=3650
复制代码
安装rancher
- $ kubectl create namespace cattle-system
- #创建secret tls-rancher-ingress
- $ kubectl -n cattle-system create secret tls tls-rancher-ingress --cert=./cert/tls.crt --key=./cert/tls.key
- # 创建secret tls-ca
- $ kubectl -n cattle-system create secret generic tls-ca --from-file=./cert/cacerts.pem
复制代码- # 安装rancher
- $ helm install rancher rancher-stable/rancher \
- --version=2.7.6 \
- --namespace cattle-system \
- --set hostname=test-rancher.com \
- --set ingress.tls.source=secret \
- --set privateCA=true
复制代码
安装完成以后执行查看ip,并进行绑定设置- $ kubectl get ingress -n cattle-system
复制代码
rancher配置
在本地配置hosts或者用nginx做转发配置,这里用hosts解析配置- $ 172.18.1.58 test.rancher.com
复制代码 访问rancher
如果按照上面执行的命令报错,那么执行生成一个新密码- $ kubectl -n cattle-system exec $(kubectl -n cattle-system get pods -l app=rancher | grep '1/1' | head -1 | awk '{ print $1 }') -- reset-password
复制代码 登录成功更改密码
istio安装
安装完成会出现如下选项
在终端其他机器验证端口是否打通- kubectl get svc -n istio-system
复制代码
由上图得知,80映射的端口为31380 ,443映射端口为31390, 那么在slb配置转发规则时,转发到以上端口即可,IP为k8s的worker的ip
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |