2 - 安装


一、rke安装

1、二进制文件安装

  • 浏览器访问RKE Releases页面,下载符合操作系统的最新RKE安装程序:

    • MacOSrke_darwin-amd64
    • Linux(Intel / AMD)rke_linux-amd64
    • Linux(ARM 32位)rke_linux-arm
    • Linux(ARM 64位)rke_linux-arm64
    • Windows(32位)rke_windows-386.exe
    • Windows(64位)rke_windows-amd64.exe
  • 运行以下命令给与二进制文件执行权限;

使用 Windows?该文件已经是可执行文件,跳过此步骤访问准备Kubernetes集群的节点.

  1. # MacOS
  2. chmod +x rke_darwin-amd64
  3. # Linux
  4. chmod +x rke_linux-amd64
  • 确认RKE可执行:
  1. # MacOS
  2. ./rke_darwin-amd64 --version
  3. # Linux
  4. ./rke_linux-amd64 --version

2、macos brew安装

  • 安装Homebrew,请参阅https://brew.sh/
  • 通过在终端窗口中运行以下命令来安装RKE:
  1. brew install rke
  • 如果您已经通过brew安装了RKE ,则可以通过运行以下命令来升级RKE:
  1. brew upgrade rke

二、准备Kubernetes集群的节点

Kubernetes集群组件在Linux系统上以docker容器的形式运行,您可以使用熟悉的Linux发行版,只要它可以满足Docker和Kubernetes的运行需要。

三、创建rke配置文件

有两种简单的方法可以创建cluster.yml

  • 使用我们的最小值rke配置cluster.yml并根据将使用的节点更新它;
  • 使用rke config向导式生成配置;

1、运行rke config配置向导

  1. ./rke_darwin-amd64 config

2、指定名称创建配置文件

  1. rke config --name cluster.yml

3、创建空的cluster.yml

如果需要空的cluster.yml模板,可以使用该—empty参数生成空模板。

  1. rke config --empty --name cluster.yml

4、仅打印cluster.yml

您可以使用—print参数将生成的配置打印到stdout,而不是创建文件。

  1. rke config --print

四、高可用性

RKE支持Kubernetes集群HA方式部署,您可以在cluster.yml文件中指定多个controlplane节点。RKE将在这些节点上部署master组件,并且kubelet配置为默认连接127.0.0.1:6443,这是nginx-proxy代理向所有主节点请求的服务的地址。

五、证书

从v0.2.0版本起可用

默认情况下,Kubernetes集群配置ssl证书来通信认证,RKE会自动为所有集群组件生成证书,部署Kubernetes集群后,您可以管理这些自动生成的证书,您也可以使用自定义证书

六、RKE部署Kubernetes集群

创建cluster.yml完成后,可以使用简单的命令部署集群。此命令假定该cluster.yml文件与运行该命令的目录位于同一目录中。

  1. # MacOS
  2. ./rke_darwin-amd64 up
  3. # Linux
  4. ./rke_linux-amd64 up

在创建Kubernetes集群时会有日志语句。

  1. ./rke_darwin-amd64 up
  2. INFO[0000] Building Kubernetes cluster
  3. INFO[0000] [dialer] Setup tunnel for host [10.0.0.1]
  4. INFO[0000] [network] Deploying port listener containers
  5. INFO[0000] [network] Pulling image [alpine:latest] on host [10.0.0.1]
  6. ...
  7. INFO[0101] Finished building Kubernetes cluster successfully

当最后一行显示Finished building Kubernetes cluster successfully表示集群已部署完成。作为Kubernetes创建过程的一部分,已创建并编写了一个kubeconfig文件,该文件kubeconfig_cluster.yml用于与Kubernetes集群进行交互。 如果您使用了不同的cluster.yml文件名,则kube配置文件将以kube_config<RKE_FILE_NAME>.yml命名

七、保存文件

重要提示 后期的故障排除和集群升级都需要以下文件

将以下文件的副本保存在安全位置:

  • cluster.yml:RKE集群配置文件。

  • kube_config_cluster.yml:集群的Kubeconfig文件,此文件包含完全访问集群的凭据。

  • cluster.rkestateKubernetes集群状态文件,此文件包含访问集群的重要凭据。

使用RKE v0.2.0或更高版本时才会创建Kubernetes集群状态文件。

八、Kubernetes集群状态文件

Kubernetes集群状态由Kubernetes集群中的集群配置文件cluster.yml组件证书组成,由RKE生成,但根据您的RKE版本,集群状态的保存方式不同。

  • 在v0.2.0之前,RKE将Kubernetes集群状态保存为secret。更新状态时,RKE会提取secret更新/更改状态并保存新secret
  • 从v0.2.0开始,RKE在集群配置文件cluster.yml的同一目录中创建一个.rkestate文件。该.rkestate文件包含集群的当前状态,包括RKE配置和证书。需要保留此文件以更新集群或通过RKE对集群执行任何操作。