5

Kubernetes 难上手?试试这些工具!

 3 years ago
source link: https://segmentfault.com/a/1190000039326744
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

你好,我是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 是 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的全称是 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 是 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!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK