macOSでのk8sクラスタの最適解はOrbstack
みなさんk8sクラスタを手元で動かしたい時、ディストリビューションは何を使っていますか。
kind?Microk8s?Minikube?
macOSホストで手元の実験環境を立ち上げるには、Orbstackが最適解だ!という記事を書いていきたいと思います。
Orbstackとは
OrbStackは、macOS向けに設計された軽量で高性能な仮想化プラットフォームです。
DockerコンテナやLinux仮想マシン、Kubernetesクラスタを高速に実行することができ、特にmacOS環境(Apple Slicon)での使用に最適化されています。
OrbStackは、Docker Desktop等の強力な代替手段として注目されております。
Orbstackのメリット
高速なパフォーマンス
OrbStackは、kind、MicroK8s、Minikubeと比較して、起動時間が非常に短く、2秒程度で起動します。
リソース効率
OrbStackは、他のツールと比べてCPUとメモリの使用量が少なく、バッテリー消費も抑えられています。
ネイティブmacOS統合
OrbStackは、macOS用に設計されており、macOS環境(Apple Slicon)でネイティブで実行されます。これにより、他のツールよりもオーバーヘッドなく稼働します。
統合されたネットワーク機能
Kubernetesのすべてのサービスタイプ(LoadBalancer, NodePort, ClusterIP, Pod IP)にMacから直接アクセス可能です。これにより、ポートフォワーディングや複雑なネットワーク設定が不要となり、ネットワーク周りの作業が大幅に簡素化されます。
- cluster.local ドメイン(例: service.namespace.svc.cluster.local)への直接アクセス可能
- NodePortサービスに localhost を通じてアクセス可能
- LoadBalancerサービスやIngressコントローラーが追加設定なしで動作し、*.k8s.orb.local ドメインを通じて利用可能
- Serviceだけでなく、podのIPアドレスにも直接接続可能
Orbstackのデメリット
商用利用の課金
OrbStackは個人利用では無料ですが、商用利用には月額8ドルのライセンスが必要です。
単一ノードクラスタ
OrbStackの組み込みKubernetesクラスタは単一ノードに限定されています。手元で複数ノードのクラスタが必要な場合、kind、MicroK8s、Minikube等を使いましょう。
使い方
Homebrew Caskでインストールできます
brew install orbstack
orbstack.appを開き、KubernetesをActivateすると、k8sのクラスタが立ち上がります。
試しに以下を叩いてみます。
kubectl version
問題なく出力されます。
Client Version: v1.30.0
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.29.3+orb1
このように2ステップでk8sクラスタを構築することができます。
まとめ
Orbstackは開発も盛んに行われ、新機能が続々出てきております。
macOSでのコンテナを用いた開発者体験をかなり良くしているので、ぜひ皆さんも試してみてください!
Discussion