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

沙海
沙海
沙海
994
文章
2
评论
2021年4月17日10:52:19
评论
2 2338字阅读7分47秒
摘要

Kubernetes 难上手?试试这些工具! GitHub笔记

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

GitHub笔记

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

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

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

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

01

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 NAMESTATUSROLESAGEVERSIONip-172-44-255-31NotReady <none> 65s v1.20.2-34+350770ed07a558

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

        $ sudo microk8s enable storage ingress

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

        02

        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 文件内的令牌。

              03

              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命令来访问集群:

                $ kubectl –kubeconfig kube_config_cluster.yml get node

                04

                KIND

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

                kind 命令可以从这里下载:

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

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

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

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

                  $ cat > kind.config <<eof< span=""></eof<>kind: ClusterapiVersion: kind.x-k8s.io/v1alpha4# One control plane node and three "workers".nodes:- role: control-plane- role: worker- role: worker- role: workerEOF$ kind create cluster --config kind.config

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

                  继续阅读
                  weinxin
                  资源分享QQ群
                  本站是一个IT技术分享社区, 会经常分享资源和教程; 分享的时代, 请别再沉默!
                  沙海
                  匿名

                  发表评论

                  匿名网友 填写信息

                  :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: