microk8sって便利ですよね
kubernetesを勉強したい!とまず環境を選ぶ際に、
minikubeやk3sなどを比較しつつ、ubuntuで簡単にインストールできるmicrok8sで実験・学習することが増えてきました。
minikubeは仮想マシンイメージでの公開のため、マシンスペックが必要であったりします。
microk8sは比較的スペックの低いVPCや古いNotePCにUbuntu20を入れて導入することができます。
microk8s add-onとは
拡張機能としてセットアップの簡略化を目指して準備されているコマンド群です。
microk8s addonsから一覧を作成し、IBM Cloud Kubernetes Serviceにこの拡張機能を持って行った場合どのような機能にあてはまるのかを比較検討しました。
個人的な知見によりあてはめているため、誤りがある場合があります。もし見つけたらコメントいただけるとありがたいです。
きっかけ: これってマネージドクラウドに持っていくと変わるものや代替ってある?
N/Aのものは未調査などで対応できていないものです。
分類は便宜上カテゴリ分けしたもので、内部の順番は順不同です。
基本機能
| microk8s add-on name | on IBMCloud | 詳細 |
|---|---|---|
| dns | dns | CoreDNS。microk8sでは他add-onからも必須とされる。 |
| rbac | rbac enabled | Role Based Access Control の有効化 |
| registry | IBM Cloud Container Registry | プライベートレジストリの作成 |
| storage | IBM Cloud File Storage | ローカルストレージにPVC要求のみでPVを自動生成・割り当てが可能 |
HW依存
| microk8s add-on name | on IBMCloud | 詳細 |
|---|---|---|
| gpu | BareMetalServer GPU | ローカルのnvidia GPUをサポート。 |
| inaccel | N/A | FPGA管理ソリューション InAccel |
Network/LoadBalance/API
| microk8s add-on name | on IBMCloud | 詳細 |
|---|---|---|
| cilium | N/A | Deploys Cilium to support Kubernetes network policies using eBPF. |
| ambassador | istio | API Gatewayとして機能するものでIstioと並んで選択しとして使われるプロダクト |
| ingress | ingress | A simple ingress controller for external access. |
| istio | istio | Adds the core Istio services (not available on arm64 arch). |
| kata | N/A | OCI準拠のイメージでVMを起動することができる機能 |
| keda | keda support | イベント稼働型Podオーケストレータ |
| linkerd | N/A | Service Mesh Product linkerd |
| metallb | k8s loadbalancer | MetalLB Loadbalancer |
| multus | N/A | Podに追加NICを接続し複数ネットワークに接続するためのCNIプラグイン |
dashboard
| microk8s add-on name | on IBMCloud | 詳細 |
|---|---|---|
| dashboard | dashboard enabled | Kubernetes Dashboard |
| portainer | portainer support | コンテナ管理用ダッシュボード |
logging/monitoring
| microk8s add-on name | on IBMCloud | 詳細 |
|---|---|---|
| fluentd | LogDNA | Elasticsearch-Fluentd-KibanaのEFKスタックを導入。IBM CloudではLogDNA |
| metrics-server | metics-server support by helm chart | MetricsAPIによる可視化 |
| prometheus | prometheus support | Prometheus 監視の有効化 |
operator
| microk8s add-on name | on IBMCloud | 詳細 |
|---|---|---|
| helm | Helmカタログ | HELMサポート |
| helm3 | Helmカタログ | HELM3サポート |
| knative | knative support | knative |
| kubeflow | kubeflowo support | Kubeflow operators. |
| jaeger | N/A | 分散トレーシング環境のオペレーター |
| juju | N/A | jujuコマンドによるデプロイ |
その他
| microk8s add-on name | on IBMCloud | 詳細 |
|---|---|---|
| host-access | N/A | Provides a fixed IP for access to the host’s services. |
| openfaas | IBM Cloud Functions | Serverless Framework |
| openebs | N/A(IBM Cloud BlockStorage) | コンテナ向けにEBSを作るプラグイン |
| traefik | N/A | 未調査 |
この表を作ってみてわかったこと
microk8sでadd-onをすることで便利なのは、インストールが簡略化されて楽であるということ。
IBM Cloudではそれぞれのプロダクトで公開されている手順に則って導入することで利用が可能であること。
IBM Cloud Kubernetes Serviceで利用できる機能の注意点
FileStorageや、Ingress/Istioなどは有償クラスタでのみ利用が可能となります。