zoukankan      html  css  js  c++  java
  • rancher2 HA部署注意事项

     

     

    参考:

    https://rancher.com/docs/rancher/v2.x/en/installation/ha-server-install/

    https://www.cnblogs.com/rancher-maomao/p/8445111.html

    部署要点:

    域名解析准备:

    域名解析至三个IP作轮询解析,类似下方:

    rancher.qq.com 192.168.1.1

    racher.qq.com 192.168.1.2

    racher.qq.com 192.168.1.3

    系统版本

    建议使用Ubuntu 16.04版本,CentOS7没有配置成功,需要修改的地方太多了;

    Docker版本:

    RKE在Github上的readme中已有说明,Kubernetes1.10.1需要Docker 1.13.1;

    主机名:

    如果是克隆的系统一定要修改主机名,hostname主机名必须不同!

    主机文件:

    /etc/hosts要配置正确,一定要有127.0.0.1 localhost 这一项。Hosts文件中包含所有主机节点的IP和名称列表。使用vi进行编辑,不能使用中文全角的空格;

    SELinux:

    必须关闭!Ubuntu 16.04默认未安装,无需设置。CentOS7下可修改配置文件/etc/sysconfig/selinux,设置SELINUX=disabled ,重启后永久关闭。

    IPV4转发

    必须开启!Ubuntu 16.04下默认已启用,无需设置。

    防火墙:

    Ubuntu默认未启用UFW防火墙,无需设置。也可手工关闭:sudo ufw disable

    禁用SWAP:

    一定要禁用swap,否则kubelet组件无法运行,永久禁用swap可以直接修改/etc/fstab文件,注释掉swap项。swapoff -a 只是临时禁用,下次关机重启又恢复原样;

    启用Cgroup:

    修改配置文件/etc/default/grub,启用cgroup内存限额功能,配置两个参数:

    GRUB_CMDLINE_LINUX_DEFAULT="cgroup_enable=memory swapaccount=1"

    GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

    注意:要执行sudo update-grub 更新grub,然后重启系统后生效。

    SSH免密登录:

    ssh-keygen 全部回车

    ssh-copy-id 用户名@IP

    用户名为非root用户,执行命令时不要加sudo,本机也要。

    RKE部署用户:

    1、RKE部署用户是cluster.yml配置文件中的用户,也就是上述能ssh免密登录到其他机器的用户;

    2、如果使用普通用户进行RKE安装,要将普通用户(如user01)加入到docker组,命令:sudo usermod -aG docker user01  注意:重启系统以后才能生效,只重启Docker服务是不行的!重启后,user01用户也可以直接使用docker run命令。

    4、在Ubuntu上使用apt安装完docker后,会自动创建docker用户组,无需手工创建docker组,只需要将部署RKE的用户(如user01)加入到docker组即可,查看是否存在docker组、以及user01用户是否在docker组中,可以直接查看/etc/group文件;

    5、修改配置文件/etc/ssh/sshd_config,将PermitRootLogin prohibit-password 改为PermitRootLogin yes ,允许root远程ssh登录;

    取消注释#AuthorizedKeysFile   %h/.ssh/authorized_keys ,允许记录授权秘钥文件;

    RKE下载

    https://github.com/rancher/rke/releases

    rke_linux-amd64这个版本

    yml文件下载

    我下载的是公用证书,自签名类似,关键是下面几步

     https://raw.githubusercontent.com/rancher/rancher/e9d29b3f3b9673421961c68adf0516807d1317eb/rke-templates/3-node-certificate-recognizedca.yml

    下载之后,改名成自己喜欢的名称

    注意需要配置的地方:

    节点配置

    nodes:
      - address: 1.1.1.1
    	user: root
    	role: [controlplane,etcd,worker]
    	ssh_key_path: ~/.ssh/id_rsa
      - address: 2.2.2.2
    	user: root
    	role: [controlplane,etcd,worker]
    	ssh_key_path: ~/.ssh/id_rsa
      - address: 3.3.3.3
    	user: root
    	role: [controlplane,etcd,worker]
    	ssh_key_path: ~/.ssh/id_rsa
    address 为自己的IP
    用户名为可以免密登录的用户名。
    以下为关键的证书配置
    一般证书名为两个:
    fullchain.pem与privkey.pem
    自签名是三个,类似,具体位置见官方文档

    cat FILENAME | base64 -w0
    这个文件名是刚才证书的文件名,使用证书的文件生成base64 字符串,输入yml文档中
    apiVersion: v1
    kind: Secret
    metadata:
      name: cattle-keys-ingress
      namespace: cattle-system
    type: Opaque
    data:
      tls.crt: 
    tls.key:
    注意这里的格式,在输入之前先备份,base64字条串为新起来行,顶行或crt:后面有空格

    FQDN配置

    需要修改两处:
    
    

    到些处,所有准备工作已经完成

    ./rke_linux-amd64 up --config rancher-cluster.yml 正式配置
    不报错就成功
    全部成功后,使用配置的域名访问,其它与单机安装一样。配置的域名就是FQDN。
    
    
  • 相关阅读:
    LayUI上传图片
    快递查询
    安装 Python
    HTML5 WebSocket
    反射实例
    反射
    工厂模式之工厂方法案例
    工厂模式之简单工厂案例
    第三方登录
    封装条形码MaHelper
  • 原文地址:https://www.cnblogs.com/net2817/p/9057491.html
Copyright © 2011-2022 走看看