docker搭建Rancher服务

一、环境准备

        准备5台内存为4G且安装好docker和docker-compose的服务器A,B,C,D,E 可参考

        其中一台A安装rancher-server(etcd/control),3台BCD安装rancher-agent(worker),最后一台E安装Harbor、NFS文件服务器。

二、安装Harbor、NFS文件服务器到E服务器

        1:下载Harbor并解压

        2:修改harbor.yml中的hostname为本机ip,如果支持https就配置https相关内容,如果不支持https就注释https相关内容

        3:执行install.sh

        4:docker-compose stop/start 停止/启动

        5:访问默认登录:admin/Harbor12345

        6:修改其他4台服务器ABCD的docker接入到Harbor私服

             vim /etc/docker/daemon.json =>  {"insecure-registries":["ip1","ip2"]}

             systemctl restart docker

       7:搭建NFS

             安装:yum install -y nfs-common nfs-utils rpcbind

             分配权限:mkdir /nfsdata && chmod 666 /nfsdata && chown nfsnobody /nfsdata

             配置挂载:vim /etc/exports=>/nfsdata *(rw,no_root_squash,no_all_squash,sync)

             启动:systemctl start rpcbind && systemctl start nfs

      8:上传镜像到私服

            docker tag SOURCE_IMAGE[:TAG] IP/prv/REPOSITORY[:TAG]

            docker push IP/prv/REPOSITORY[:TAG]  推送到私有仓库需要先登录 docker login IP  退出docker logout

            docker pull IP/prv/REPOSITORY[:TAG]

三、安装Rancher

         1:在A服务器上安装Rancher Server

               docker run -d --restart=unless-stopped -p 8080:80 -p 8443:443 -v /services/rancher/rancher-data:/var/lib/rancher/ -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime rancher/rancher:stable

         2:访问8080端口首次登录需要设置密码

四、在Rancher上构建K8S集群

         1:新建一个集群 -> 在A服务器上执行安装Etcd和Control命令 -> BCD服务器上安装执行Worker命令;这个过程时间比较长。

         注:安装过程中会下载多个docker image这些image有很多下载很慢,如果长时间安装不成功需要查看docker日志确定问题。如果环境有问题可以删除节点重新安装。

         删除某个节点的方法

# 执行以下操作
# step1:删除rancher相关容器(注:以下命令会删除所有容器,如果你还有rancher集群之外的其他容器,也会被删掉)
$ docker rm -f $(docker ps -qa)
$ docker rmi -f $(docker images -q)

# step2:删除mount挂载点
$ for mount in $(mount | grep tmpfs | grep '/var/lib/kubelet' | awk '{ print $3 }') /var/lib/kubelet /var/lib/rancher; do umount $mount; done

# step3:删除映射的目录
$ rm -rf /etc/ceph \
       /etc/cni \
       /etc/kubernetes \
       /opt/cni \
       /opt/rke \
       /run/secrets/kubernetes.io \
       /run/calico \
       /run/flannel \
       /var/lib/calico \
       /var/lib/etcd \
       /var/lib/cni \
       /var/lib/kubelet \
       /var/lib/rancher/rke/log \
       /var/log/containers \
       /var/log/kube-audit \
       /var/log/pods \
       /var/run/calico

# step4:重启机器
$ reboot

五、部署服务

         1:创建PVC挂载

               选择刚刚创建的集群 -> 存储 -> 持久卷 -> 添加PV -> 选择 NFS -> 保存

         2:部署服务

               选择刚刚创建的集群 -> 部署服务 -> 选择镜像 -> 选择数据卷 -> 启动

六、RancherD安装高可用Rancher服务

        1:准备A、B、C3台4G2核虚拟机(最小配置,生产环境可扩大)
        2:根据官方文档一步步进行安装,因国内访问rancher慢会出现各种因下载失败而无法正常启动的问题
                在A服务器配置rke2文件避免固定仓库地址证书错误(RancherD安装其实还是用到RKE2)
                /etc/rancher/rke2/config.yaml

token: my-shared-secret
tls-san:
  - ip
  - xxx.com
system-default-registry: "registry.cn-hangzhou.aliyuncs.com"

                安装RancherD:curl -sfL https://get.rancher.io | sh -
                        因网络问题时常会失败,多试几次就可以,成功后用 rancherd --help 验证是否安装成功
                启动RancherD:systemctl enable rancherd-server.service 和 systemctl start rancherd-server.service
                        查看启动日志:journalctl -eu rancherd-server -f
                        这一步因为要自动下载RKE2相关组件和rancher镜像也是时常卡死
                        卡死时可以systemctl restart rancherd-server.service重启一下试试,重启多次还是不行的话删除 /var/lib/rancher 目录再尝试一下
                        A服务器安装成功后执行:export KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin
                        验证rancher是否在集群中启动:kubectl get daemonset rancher -n cattle-system 和 kubectl get pod -n cattle-system
                        设置rancher初始密码:rancherd reset-admin根据返回信息登录rancher
                配置rancher提高rancher下载镜像速度(一些资源可以通过Rancher Releases Mirror 手动下载)
                        全局->系统设置->system-default-registry(值registry.cn-hangzhou.aliyuncs.com)
                        全局->工具->商店设置->升级
                                https://git.rancher.io/helm3-charts改为https://gitee.com/rancher/helm3-charts
                                https://git.rancher.io/charts改为https://gitee.com/rancher/charts
                                https://git.rancher.io/system-charts改为https://gitee.com/rancher/system-charts
                配置其他应用商店
                        aliyun https://apphub.aliyuncs.com
                        stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
                        azure https://mirror.azure.cn/kubernetes/charts
                        bitnami https://charts.bitnami.com
                        hubcurated https://cloudnativeapp.github.io/charts/curated

                在B服务器上配置rke2文件避免固定仓库地址证书错误(RancherD安装其实还是用到RKE2)
                        /etc/rancher/rke2/config.yaml

server: https://A配置的ip或域名:9345
token: A服务器上配置的token
tls-san:
  - ip同A服务器,目的是固定一个注册地址
  - xxx.com同A服务器
system-default-registry: "registry.cn-hangzhou.aliyuncs.com"

                        /etc/rancher/rke2/registries.yaml 配置私有仓库提高RKE下载资源速度

mirrors:
  docker.io:
    endpoint:
      - "https://registry.cn-hangzhou.aliyuncs.com"
configs:
  customreg:
    auth:
      username: xxxxxx # 镜像仓库用户名
      password: xxxxxx # 镜像仓库密码
    tls:
      cert_file: <镜像仓库所用的客户端证书文件路径>
      key_file: <镜像仓库所用的客户端密钥文件路径>
      ca_file: <镜像仓库所用的ca文件路径>

                        安装RancherD同A服务器
                        启动RancherD同A服务器
                        在C服务器上重复B服务器操作

        3:卸载
                rancherd-uninstall.sh

七、Rancher应用商店使用

    1:Longhorn安装
        安装longhorn的集群中的机器需要安装open-iscsi:yum install iscsi-initiator-utils
        应用商店->启用->搜索longhorn->配置->安装

八、RKE安装Rancher

    1:准备3台内存为4G且安装好docker和docker-compose的服务器A,B,C 可参考
    2:3台服务器需要创建可操作docker的新用户
        useradd -m -s /bin/bash -G docker rke; passwd rke
        选A服务器来运行安装,需要配置A可以免密登录BC
        A->su rke->ssh-keygen->ssh-copy-id rke@A;ssh-copy-id rke@B;ssh-copy-id rke@C
    3:A安装kubectl
        curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"->install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl->kubectl version --client --output=yaml
    4:安装RKE
        下载
            curl -LO https://github.com/rancher/rke/releases/download/v1.3.15/rke_linux-amd64
        mv rke_linux-amd64 /usr/local/bin/rke->chmod +x /usr/local/bin/rke
        安装
        创建配置文件rancher-cluster.yml

nodes:
  - address: 192.168.8.60
    internal_address: 192.168.8.60
    user: rke
    ssh_key_path: /home/rke/.ssh/id_rsa
    role: [controlplane, worker, etcd]
  - address: 192.168.8.61
    internal_address: 192.168.8.61
    user: rke
    ssh_key_path: /home/rke/.ssh/id_rsa
    role: [controlplane, worker, etcd]
  - address: 192.168.8.62
    internal_address: 192.168.8.62
    user: rke
    ssh_key_path: /home/rke/.ssh/id_rsa
    role: [controlplane, worker, etcd]

services:
  etcd:
    snapshot: true
    creation: 6h
    retention: 24h

# Required for external TLS termination with
# ingress-nginx v0.22+
ingress:
  provider: nginx
  options:
    use-forwarded-headers: "true"

        rke up --config ./rancher-cluster.yml 显示Finished build Kubernetes cluster succeeded为成功
        保存配置文件,cp ./kube-config_rancher-cluster.yml $HOME/.kube/config
        kubectl get nodes->kubectl get pods --all-namespaces
   
       
      
         
        

根据引用中的内容,搭建Docker Rancher环境的步骤如下: 1. 准备工作,包括安装apt-get和ssh,修改下载源地址。 2. 安装Docker,并使用Docker安装MySQL和Rancher。 3. 进行Docker的操作,包括镜像操作和卸载Docker。 4. 连接到不同的镜像仓库,包括Docker官方的镜像仓库和阿里云镜像仓库。 根据引用中的内容,在搭建Rancher环境之前,需要规划好两台服务器的IP地址,并在其中一台服务器上安装RancherDocker,在另一台服务器上安装DockerDocker-compose。 根据引用中的内容,搭建Rancher环境的具体步骤如下: 1. 在已安装Docker的基础上启动Rancher服务器。Rancher服务器是一个Docker镜像,因此不需要额外安装软件,只需执行Docker命令下载并成功运行Rancher服务器镜像。 2. 启动容器并指定端口,如果没有rancher/server镜像,会自动下载。可以通过执行命令docker run -d --restart=always -p 8080:8080 rancher/server来查看镜像和容器的运行情况。 综上所述,搭建Docker Rancher环境的步骤包括准备工作、安装Docker、安装MySQL和Rancher、进行Docker操作、连接到不同的镜像仓库以及启动Rancher服务器。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [docker+rancher环境搭建rancher的使用](https://blog.csdn.net/qq_42268472/article/details/126798628)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Docker+Rancher+Harbor搭建全过程](https://blog.csdn.net/sql_ican/article/details/81945023)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值