四款超强大易用的管理工具,助你轻松玩转 Kubernetes,


 

相信不少同学对于 Kubernetes 已经摩拳擦掌,作为当下最流行的服务运维平台,这个盛名之下的庞大软件到底怎么玩转?

作为一个功能丰富、组件众多的“云原生操作系统”,安装和配置Kubernetes 的复杂性的确容易让人望而却步。不过,Kubernetes 社区经过几年的快速发展,已经出现了不少颇为易用的安装、部署工具,能够帮助初学者和新用户用最简单的步骤上手 K8s。

接下来跟我一起尝试用下面几个非常易用的工具,开始自己的 Kubernetes 学习之旅吧~

1.MicroK8s

MicroK8s 是由Ubuntu推出的基于snap的包。在最新的 Ubuntu 系统下(20.04以上),可以直接使用 snap 命令快速安装一个本地 Kubernetes 集群。

在 shell 中执行如下命令:

  1. $ sudo snap install --classic microk8s 

(如果系统没有 snap 命令,可以通过 apt-get install snap 来安装)

MicroK8s安装完成以后,通过 sudo microk8s kubectl 命令来访问集群:

  1. $ sudo microk8s kubectl get node    
  2. NAME               STATUS     ROLES    AGE   VERSION  
  3. ip-172-44-255-31   NotReady   <none>   65s   v1.20.2-34+350770ed07a558 

MicroK8s 还集成了很多插件,比如 storage插件也可以通过 microk8s 命令来管理。例如:

  1. $ sudo microk8s enable storage ingress 

如果想把多个节点加入同一个 Kubernetes 集群,可以使用sudo microk8s add-node 命令,然后根据提示进行操作。

2.K3S

K3S 是 Rancher 推出的一个高集成度的 Kubernetes 发行版,所有的组件都被打包在一个可执行文件中,并且进行了轻量化。

K3S程序可以在这里下载:

https://github.com/rancher/k3s/releases/latest

把 K3S 文件下载到 /usr/local/bin 并且设为可执行以后,就可以用一个命令启动集群服务:

  1. $ sudo k3s server 

访问集群同样是通过 K3S 命令:

  1. $ sudo k3s kubectl get node 

如果要把多个主机加入一个集群,可以在另外的节点上执行:

  1. $ sudo k3s agent –server https://$SERVER:6443 –token $TOKEN 

其中$SERVER和$TOKEN要匹配第一台主机的地址和 /var/lib/rancher/k3s/server/node-token 文件内的令牌。

3.RKE

RKE的全称是 Rancher Kubernetes Engine,也是由 Rancher开发和维护的Kubernetes发行版。跟偏重边缘计算场景的 K3S 相比,RKE 更多面向传统的数据中心生产环境,偏重集群化部署,且可定制性更强。

要安装一个 RKE 的集群,可以从这里下载 RKE 程序:

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

然后使用 rke config --name cluster.yml 创建一个新的集群部署配置。

编辑 cluster.yml 文件,填充集群的主机列表和访问方式等,同时还可以定制集群的初始化配置。

配置文件的一个片段如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

nodes:

- address: 11.37.129.93

  port: "22"

  internal_address: 10.1.4.245

  role:

  - controlplane

  - worker

  - etcd

- address: 4.103.57.64

  port: "22"

  internal_address: 10.1.1.101

  role:

  - worker

然后执行 rke up 命令,就会开始安装。注意部署 RKE 的节点需要预先安装Docker。

完成以后,当前目录下出现 kube_config_cluster.yml 文件,即可通过 kubectl命令来访问集群:

  1. $ kubectl –kubeconfig kube_config_cluster.yml get node 

4.KIND

Kind 是 Kubernetes-in-Docker 的缩写。在安装有 Docker 的主机上创建一个测试用的多节点Kubernetes集群非常容易,而且由于整个集群都在 Docker 的容器环境中运行,不会对主机环境和其它配置造成过多干扰。

kind 命令可以从这里下载:https://kind.sigs.k8s.io/

保存到 /usr/local/bin 以后,直接执行 kind create cluster 就可以创建一个集群:

如果你想尝试多节点的集群,也可以:

  1. $ cat > kind.config <<EOF  
  2. kind: Cluster  
  3. apiVersion: kind.x-k8s.io/v1alpha4  
  4. # One control plane node and three "workers".  
  5. nodes:  
  6. - role: control-plane  
  7. - role: worker  
  8. - role: worker  
  9. - role: worker  
  10. EOF  
  11. $ kind create cluster --config kind.config 

命令完成后,系统中会出现几个新的 Docker 容器。并且 $HOME/.kube/config 文件会自动更新,因而直接运行 kubectl get node 就可以访问 kind 集群了。

相关内容