rancher 集群高可用 1 - 环境配置 ntpd ssh helm kubectl等

官网文档

https://rancher.com/docs/rancher/v1.6/zh/installing-rancher/installing-server/#multi-nodes

术语

  • Rancher服务器管理和配置Kubernetes集群。您可以通过Rancher服务器的用户界面与下游Kubernetes集群进行交互。
  • RKE(Rancher Kubernetes引擎)是经过认证的Kubernetes发行版和CLI /库,用于创建和管理Kubernetes集群。
  • K3s(轻量级Kubernetes)也是完全兼容的Kubernetes发行版。它比RKE更新,更易于使用且更轻巧,二进制大小小于100 MB。
  • RKE2是完全合规的Kubernetes发行版,专注于美国联邦*部门内的安全性和合规性。
  • RancherD是用于安装Rancher的新工具,该工具自Rancher v2.5.4起可用。这是一个实验性功能。RancherD是单个二进制文件,首先启动RKE2 Kubernetes集群,然后在该集群上安装Rancher服务器Helm图表。

实验环境3台机器

172.17.3.164 dev1

172.17.3.168 dev2

172.17.3.169 dev3

既然需要HA,那么SLB需要解析到各个node上的8080

rancher 集群高可用 1 - 环境配置 ntpd ssh helm kubectl等

rancher有不同的安装方式,单节点的多节点的,对于HA on docker有2种

rancher 安装在k8s 上

https://rancher.com/docs/rancher/v2.5/en/installation/install-rancher-on-k8s/

rancher 安装在docker 上

https://rancher.com/docs/rancher/v2.5/en/installation/other-installation-methods/single-node-docker/

HA部署需求

  • HA 节点:
    • 所有安装有支持的Docker版本的现代Linux发行版RancherOS, Ubuntu, RHEL/CentOS 7 都是经过严格的测试。
      • 对于 RHEL/CentOS, 默认的 storage driver, 例如 devicemapper using loopback, 并不被Docker推荐。 请参考Docker的文档去修改使用其他的storage driver。
      • 对于 RHEL/CentOS, 如果你想使用 SELinux, 你需要 安装额外的 SELinux 组件
    • 9345 8080 端口需要在各个节点之间能够互相访问
    • 1GB内存
  • MySQL数据库
    • 至少 1 GB内存
    • 每个Rancher Server节点需要50个连接 (例如:3个节点的Rancher则需要至少150个连接)
    • MYSQL配置要求
      • 选项1: 用默认COMPACT选项运行Antelope
      • 选项2: 运行MySQL 5.7,使用Barracuda。默认选项ROW_FORMAT需设置成Dynamic
  • 外部负载均衡服务器
    • 负载均衡服务器需要能访问Rancher Server节点的 8080端口

3个节点安装docker,rundeck推送下

curl https://get.docker.com | sh

rancher 集群高可用 1 - 环境配置 ntpd ssh helm kubectl等

docker 各个work node需要时间同步,ntpdate下

ntpdate 0.pool.ntp.org

rancher 集群高可用 1 - 环境配置 ntpd ssh helm kubectl等

dev1 上安装helm3

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 chmod 700 get_helm.sh ./get_helm.sh

rancher 集群高可用 1 - 环境配置 ntpd ssh helm kubectl等

一条命令

curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 chmod 700 get_helm.sh ./get_helm.sh

添加helm repo

helm repo add rancher-latest https://releases.rancher.com/server-charts/latest

rancher 集群高可用 1 - 环境配置 ntpd ssh helm kubectl等

搜索下包验证安装,看起来没问题

helm search repo --versions

rancher 集群高可用 1 - 环境配置 ntpd ssh helm kubectl等

fetch最新版本

helm fetch rancher-latest/rancher

or fetch指定版本

helm fetch rancher-stable/rancher --version=v2.0.0

安装rke,其实就是一个可执行文件,下载后改名丢%PATH目录

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

wget https://github.com/rancher/rke/releases/download/v1.2.8/rke_linux-amd64 mv rke_linux-amd64 rke chmod +x rke $PATH cp rke /usr/bin rke --version

rancher 集群高可用 1 - 环境配置 ntpd ssh helm kubectl等

安装kubectl

https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/

应该是3个node都要这个命令的,rundeck下发3台主机

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

rancher 集群高可用 1 - 环境配置 ntpd ssh helm kubectl等

校验下文件

curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256" echo "$(<kubectl.sha256) kubectl" | sha256sum --check

没问题就推送3台

rancher 集群高可用 1 - 环境配置 ntpd ssh helm kubectl等

安装kubectl

sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl kubectl version --client

3台都应该返回kubect client信息就对了

rancher 集群高可用 1 - 环境配置 ntpd ssh helm kubectl等

安装包管理

cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF yum install -y kubectl

配置kubectl的shell补全

yum install bash-completion -y echo "source <(kubectl completion bash)" >> ~/.bashrc

创建rancher用户

useradd rancher passwd rancher gpasswd -a rancher docker newgrp docker su rancher ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa_rancher cat ~/.ssh/id_rsa_rancher.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys ssh-copy-id 172.17.3.164 ssh-copy-id 172.17.3.168 ssh-copy-id 172.17.3.168

ssh dev1 到dev2 正常

rancher 集群高可用 1 - 环境配置 ntpd ssh helm kubectl等

rancher 集群高可用 1 - 环境配置 ntpd ssh helm kubectl等

上一篇:用PNChart绘制饼状图简介


下一篇:equals和==