赞
踩
准备5台内存为4G且安装好docker和docker-compose的服务器A,B,C,D,E 可参考
其中一台A安装rancher-server(etcd/control),3台BCD安装rancher-agent(worker),最后一台E安装Harbor、NFS文件服务器。
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]
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端口首次登录需要设置密码
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:部署服务
选择刚刚创建的集群 -> 部署服务 -> 选择镜像 -> 选择数据卷 -> 启动
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
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。