Rancher相关知识

387 阅读3分钟

Docker安装Rancher

使用自己的SSL证书的安装方法
说明:
1.-t 表示分配一个终端(TTY)给容器,以便可以与其进行交互。-i 表示标准输入保持打开状态,以便可以输入命令或查看容器输出。-d 表示容器以后台模式运行。
2.- -h rancher-rancher: 这个选项设置了容器的主机名为 "rancher-rancher"。主机名是容器在网络中标识自己的名称,它通常用于内部网络通信、身份验证和服务发现等目的。
3.--no-cacerts 作为容器的参数,来禁用由 Rancher 生成的默认 CA 证书
4.stable为最新稳定版本,可用于生产环境

#不使用自定义证书
sudo docker run --privileged -d \
  --restart=unless-stopped \
  -p 80:80 -p 443:443 \
  -v /mnt/d/rancher_data:/var/lib/rancher/ \
  --privileged \
  rancher/rancher:stable
  
#使用自定义证书
docker run -d \
--restart=unless-stopped \
-p 8086:80 -p 44386:443 \
-v /etc/rancher/ssl:/container/certs \
-e SSL_CERT_DIR="/container/certs" \
--privileged \
rancher/rancher:stable

#使用自定义证书并且设置相关资源参数
docker run -tid \
--name rancher-rancher \
-h rancher-rancher \
--memory 4g \
--memory-swap -1 \
--restart unless-stopped \
-p 8086:80 \
-p 44386:443 \
-v /etc/rancher/ssl/:/etc/rancher/ssl/ \
--privileged \
rancher/rancher:stable \
--no-cacerts

Rancher版本2.5.15

遇到的问题:

1、主机节点宕机,导致整个集群不可用

原因:集群至少需要三个节点才能组成高可用,我出现这个问题是因为集群中只有两个节点,一个宕机了,另外一个无法接管集群
Rancher 创建下游集群的节点分为 3 个角色,ETCD、controlplan、worker。你可以把这三个角色安装到同一个节点,也可以拆开,每个节点安装一个角色。
ETC 的高可用需要奇数个节点,推荐 3 个节点,因为节点故障的情况下,拥有奇数个 ETCD 节点可以帮助选择领导者 controlplan的话,只要大于 1 个,就可以自动组成高可用了,也就是说最少 2 个就行
worker 节点就是你创建 pod 的节点

2、k8s节点拉取本地私有镜像仓库时,由于私有仓库没有设置https,导致拉取失败

解决方法:

  • 设置私有仓库为https访问
  • 修改rancher配置文件,以及docker配置文件
    1. 修改rancher配置文件,进入rancher容器,修改/etc/rancher/k3s/registries.yaml
    mirrors:
      docker.io:
        endpoint:
          - "http://192.168.124.xxx:8081"
    configs:
      "192.168.124.xxx:8081":
        auth:
          username: harbor账号
          password: harbor密码
    
    192.168.124.xxx:8081 是你的私有harbor访问地址
    配置完之后需要重启rancher容器 
    docker restart rancher
    
    
    
    2.修改主机节点的docker配置 (注意是在k8s的各个主机节点配置,而不是在rancher节点配置,因为部署项目时是各个主机节点去拉取镜像) 修改(没有的可以新增,跟修改docker阿里镜像仓库的配置时同一个文件)/etc/docker/daemon.json
    {
     "registry-mirrors": ["https://xxxxxxx.mirror.aliyuncs.com"],
     "insecure-registries":["192.168.xxx.xxx:端口"]
    }
    
    registry-mirrors
    配置阿里镜像
    insecure-registries
    配置我们自己私有的镜像仓库访问地址(记得把IP和端口替换成自己的)
    使用 systemctl reload docker 重载配置文件
    不起效的话试试重启Dockersystemctl restart docker
3、主机节点IP变换,导致节点不可用

(本人是把旧主机节点的系统硬盘换到了另外一台设备上使用导致的)
解决方法:
在新主机节点上从新执行rancher新增节点的docker 命令
(进到某个集群中,点击右侧三个点菜单,选择registration cmd)

1681801199850.jpg

 sudo docker run -d --privileged --restart=unless-stopped --net=host -v 
 /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run  rancher/rancher-agent:v2.5.15 
 --server https://192.168.124.46 --token xxx --ca-checksum xxx --worker