如何使用Rancher部署K8s集群

该文详细介绍了如何在Centos7系统中初始化安装Docker,包括使用一键脚本和手动安装方式,并设置了阿里云和腾讯的镜像仓库。接着,文章演示了安装和配置Rancher的过程,以及利用nginx进行反向代理以支持websocket。最后,指导读者创建Rancher集群,强调了最小配置要求和节点角色分配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初始化Centos7

    curl http://pigx.vip/os7init.sh | sh -s 主机名 

一键脚本安装docker

    curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

手动安装docker

    ##安装yum-utils
    sudo yum install -y yum-utils
    ##设置仓库 -官方镜像仓库
    sudo yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo
    ##设置仓库 -阿里镜像仓库
    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    ##安装docker引擎
    sudo yum install docker-ce docker-ce-cli containerd.io

docker命令

    ##查看版本
    docker -v
    #启动docker
    sudo systemctl start docker
    #关闭docker
    sudo systemctl stop docker
    #重启docker
    sudo systemctl restart docker

配置腾讯镜像仓库

    # 打开
    vi /etc/docker/daemon.json
    # 写入
    # 其中"bip":"192.168.0.1/24" 可选,当etho和Docker0网段冲突时可以指定
    {
        "registry-mirrors": [
            "https://mirror.ccs.tencentyun.com"
        ],
        "bip":"192.168.0.1/24"
    }
    # 重载配置
    systemctl daemon-reload
    systemctl restart docker

安装docker-compose(可选)

    #下载
    sudo curl -L https://github.com/docker/compose/releases/download/1.20.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
    #加权限
    sudo chmod +x /usr/local/bin/docker-compose
    #查看版本号
    docker-compose -v

安装Rancher

    docker run -d --restart=unless-stopped \
      -p 9080:80 -p 8443:443 \
      -v r:/var/lib/rancher \
      rancher/rancher:v2.4.9

注意 数据目录映射 -v /opt/rancher:/var/lib/rancher 迁移设备时请保存

    #查看容器日志
    docker logs -f --tail 100 容器id

安装好后继续下一步

nginx反向代理Rancher ui

    location /
    {
        proxy_pass https://127.0.0.1:9443;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;
      	#下面两行是开启websocket代理
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        add_header X-Cache $upstream_cache_status;
        
        #Set Nginx Cache
        
        	add_header Cache-Control no-cache;
    }

rancher ui 需要websocket,在反向代理的配置文件中加入下面配置项

    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "upgrade";

这里我使用了宝塔面包的nginx,方便管理

配置反向代理,注意代理的是https端口,根据我们的启动指令,这个端口是9443

别忘记开启websocket代理

初始化

访问配置好的域名,设置admin账号的密码

IWillNeverTellYouThePassword...

安装集群

登陆之后

下图按需设置

点击下一步

集群至少需要 Etcd、Control、Worker各部署至少一台,服务器数量少的情况下,建议Etcd、Control部署在同一台,当然,也可以加一个Worker,如上图,选好角色后,复制命令,登陆要部署的服务器,执行命令,等待自动注册即可,当集群拥有了至少一个Etcd、Control节点后,其他节点只部署Worker角色即可。

本次部署的集群,为了节省资源,部署Rancher的服务器上同时部署了Etcd、Control、Worker

当各节点执行命令并注册成功后:

如上图,可以查看个节点资源情况

至此,集群部署完毕

<think>好的,我现在需要解决用户关于如何通过Rancher导入现有Kubernetes集群的问题。首先,我需要确认用户的需求是导入已有的K8S集群Rancher中进行管理。根据用户提供的引用资料,特别是引用[2]中的命令,用户可能已经有一定的Rancher安装基础,但需要具体的导入步骤。 接下来,我需要回忆Rancher的基本工作流程。Rancher管理集群通常有两种方式:一是通过Rancher部署全新的集群,二是导入已有的集群。这里用户关注的是后者。导入现有集群通常涉及到在Rancher界面生成注册命令,然后在目标集群上应用这个命令,从而建立连接。 然后,我需要检查用户提供的引用内容。引用[1]提到使用Rancher CLI部署集群,但用户的问题是关于导入现有集群,所以可能需要更多的UI操作步骤。引用[2]中的Docker命令是用来运行Rancher服务器的,这可能是前提条件,即用户已经安装了Rancher,现在需要导入集群。 接下来,我需要确保步骤的准确性。首先,用户需要登录Rancher的UI,进入集群管理页面,选择导入现有集群,然后生成对应的YAML文件或命令。然后在目标集群上执行这个命令,部署Rancher agent,这样Rancher就能接管集群了。这个过程可能涉及到kubectl apply命令的应用,以及可能的网络配置,确保目标集群能够访问Rancher服务器。 然后,我需要考虑潜在的问题和注意事项。例如,网络连通性:目标集群必须能够访问Rancher服务器的API端点;权限问题:执行命令的用户需要有足够的权限在目标集群部署资源;版本兼容性:RancherKubernetes的版本是否兼容。此外,用户可能需要了解导入后的集群如何在Rancher中进行管理和监控。 还要考虑用户可能的后续问题,比如如何验证集群是否成功导入,如何处理导入过程中的常见错误,或者如何配置高级设置如访问控制、监控和日志集成等。 最后,根据用户提供的引用,特别是引用[2]中的Docker命令,可能需要提醒用户确保Rancher服务器已经正确安装并运行,且端口配置正确(如-p 1443:443),以便外部访问。同时,引用[1]提到的Rancher CLI可能不是必须的,但可以作为补充工具使用。 总结步骤应该是清晰的,分步指导用户完成导入过程,同时注意可能遇到的坑,比如网络配置和权限问题。此外,生成的相关问题需要围绕导入后的管理、验证和优化展开,帮助用户进一步了解Rancher的功能。</think>### 通过Rancher导入现有Kubernetes集群的步骤 以下是使用Rancher导入已有Kubernetes集群的详细流程: --- #### **1. 前提条件** - 已安装并运行Rancher Server(参考引用[2]中的命令): ```bash docker run -d --privileged --restart=unless-stopped -p 81:80 -p 1443:443 rancher/rancher:stable ``` - 现有Kubernetes集群的`kubeconfig`文件需具有管理员权限。 - Rancher Server与目标集群网络互通(确保目标集群能访问Rancher的API)。 --- #### **2. 在Rancher中生成注册命令** 1. 登录Rancher UI(默认地址:`https://<服务器IP>:1443`)。 2. 进入**集群管理**页面,点击**导入现有集群**。 3. 输入集群名称(如`my-existing-cluster`),点击**创建**。 4. Rancher会生成一个包含`kubectl`命令的注册脚本,示例如下: ```bash kubectl apply -f https://<RANCHER_SERVER>/v3/import/<CLUSTER_TOKEN>.yaml ``` --- #### **3. 在目标集群执行注册命令** 1. 在目标Kubernetes集群的**控制节点**上,使用`kubeconfig`执行上述命令: ```bash kubectl apply -f https://<RANCHER_SERVER>/v3/import/<CLUSTER_TOKEN>.yaml ``` 2. 等待部署完成(约1-2分钟),检查是否成功: ```bash kubectl -n cattle-system get pods # 应看到rancher-agent容器运行 ``` --- #### **4. 验证导入状态** - 返回Rancher UI,集群状态会从**Pending**变为**Active**。 - 在集群详情页可查看节点、工作负载、存储等资源[^2]。 --- #### **注意事项** - **网络问题**:若目标集群无法访问Rancher Server,需检查防火墙或反向代理配置。 - **证书问题**:若Rancher使用自签名证书,需在目标集群的节点上信任该证书。 - **版本兼容性**:Rancher需支持目标集群Kubernetes版本(参考[官方兼容性矩阵](https://rancher.com/support-matrix/))。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

出世&入世

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值