10

你好,我是FamZ,曾就职字节跳动公司,担任高级系统性能工程师,擅长:内核、虚拟化、Docker、Kubernetes等

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

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

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

MicroK8s

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

在 shell 中执行如下命令:

$ sudo snap install --classic microk8s

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

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

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

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

$ sudo microk8s enable storage ingress

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

K3S

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

K3S程序可以在这里下载:

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

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

$ sudo k3s server

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

$ sudo k3s kubectl get node

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

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

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

image.png

链接:https://ke.sifou.com/course/1...
(小编插播:课程上新福利,仅需59元哟~)

RKE

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

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

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

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

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

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

image.png

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

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

$ kubectl –kubeconfig kube_config_cluster.yml get node

KIND

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

kind 命令可以从这里下载:

https://kind.sigs.k8s.io/

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

image.png

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

$ cat > kind.config <<EOF
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
# One control plane node and three "workers".
nodes:
- role: control-plane
- role: worker
- role: worker
- role: worker
EOF
$ kind create cluster --config kind.config

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

有了这些高质量的部署和实验工具,学习 Kubernetes 将会事半功倍。更多关于Kubernetes的干货内容,可以关注我和思否编程联合出品的课程《Kubernetes详解与实践:基础篇

Bon courage!

戳链接:https://ke.sifou.com/course/1...
原价¥299,立省¥240
到手价仅¥59!


思否编程
5.1k 声望27.2k 粉丝

思否编程是由中国新一代开发者社区 SegmentFault 思否孵化的在线编程培训平台,通过提升开发者 IT 职业技能,帮助开发者获得成功