最小化K8s环境部署之MicroK8s

这是我参与8月更文挑战的第2天,活动详情查看:8月更文挑战node

一 背景

接上一篇最小化K8s环境部署之Minikube,除了minikube/kind外,还不很多其余优秀的K8s环境部署工具,MicroK8s是目前最小、最快与Kubernetes全面兼容的集群系统,主要用于工做站和小型团队,可是目前镜像并无与snap打包在一块儿,还在gcr.io上,国内下载上仍是有问题。MicroK8s适合离线开发、原型开发和测试,尤为是运行VM做为小、便宜、可靠的k8s用于CI/CD。支持arm架构,也适合开发 IoT 应用,经过 MicroK8s 部署应用到小型Linux设备上。linux

二 MicroK8s特色

  • MicroK8轻巧 :团队成员但愿最小的Kubernetes用于笔记本电脑和工做站的开发。 MicroK8s提供了轻量级的独立Kubernetes,在Ubuntu上运行时,它与Azure AKS,Amazon EKS和Google GKE兼容。
  • MicroK8很简单 :MicroK8s经过单软件包安装来最大程度地减小管理和操做,该软件包没有活动部件(开箱即用),而且包括全部依赖项。
  • MicroK8是安全的 :对于全部安全问题,更新始终可用,而且能够当即应用或安排更新以适合企业的维护周期。 此外,MicroK8具备最新的隔离功能,可在工做站上安全运行。 经过将Kubernetes,Docker.io,iptables和CNI的全部二进制文件打包在单个snap软件包中,能够实现这种隔离。
  • MicroK8是最新的 :MicroK8s跟踪上游Kubernetes,并在上游Kubernetes发行的同一天发布beta,发行候选版本和最终版本。 您能够跟踪最新的Kubernetes或坚持使用从1.10开始的任何Kubernetes版本。 当出现新的主要Kubernetes版本时,您能够自动升级或使用单个命令进行升级。
  • MicroK8是全面的 :MicroK8s包括精选的清单,用于常见的Kubernetes功能和服务。 MicroK8带有Docker注册表,使用户能够在笔记本电脑上制做,推送和部署容器。

三 安装部署

3.1 运行环境

  • 操做系统 Ubuntu 18.04 LTS 或16.04 LTS 环境 (或其余支持 snapd 的操做系统- see the snapd documentation)。
  • 至少 20G 磁盘空间, (建议)4G 内存。
$ snap install microk8s --classic
2021-08-06T16:56:05+08:00 INFO Waiting for automatic snapd restart...
microk8s (1.21/stable) v1.21.3 from Canonical✓ installed
复制代码

四 使用

$ microk8s kubectl get nodes
NAME             STATUS     ROLES    AGE    VERSION
vm-0-17-ubuntu   NotReady   <none>   2m7s   v1.21.3-3+90fd5f3d2aea0a
$ microk8s kubectl get services
NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.152.183.1   <none>        443/TCP   2m27s
 # 检测服务状态
$ microk8s status --wait-ready
 # 启用相关组建
$ microk8s enable dashboard dns registry istio
 # 查看k8s
$ microk8s kubectl get all --all-namespaces
 # 访问dashboard
$ microk8s dashboard-proxy
 # 使用以有kubectl管理
$ sudo microk8s kubectl config view --raw > $HOME/.kube/config
 # 查看插件
$ microk8s.status
复制代码

使用宿主机kubectl管理集群git

$ curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl &&\ chmod +x ./kubectl &&\ $ mv ./kubectl /usr/bin/kubectl
 $ microk8s kubectl config view --raw > $HOME/.kube/config
$ kubectl get po -A
NAMESPACE     NAME                                      READY   STATUS     RESTARTS   AGE
kube-system   calico-kube-controllers-f7868dd95-s4c5m   0/1     Pending    0          5m33s
kube-system   calico-node-8mxlc                         0/1     Init:0/3   0          5m27s
复制代码

五 其余

与Minikube不一样,IT管理员或开发人员可使用MicroK8s建立多节点集群。若是MicroK8s在Linux上运行,甚至不须要VM。在Windows和macOS上,MicroK8s使用名为Multipass的VM框架为Kubernetes集群建立VM。github

参考连接

相关文章
相关标签/搜索