🚀

macOSでのk8sクラスタの最適解はOrbstack

2024/12/20に公開

みなさんk8sクラスタを手元で動かしたい時、ディストリビューションは何を使っていますか。
kind?Microk8s?Minikube?
macOSホストで手元の実験環境を立ち上げるには、Orbstackが最適解だ!という記事を書いていきたいと思います。

Orbstackとは

OrbStackは、macOS向けに設計された軽量で高性能な仮想化プラットフォームです。
DockerコンテナやLinux仮想マシン、Kubernetesクラスタを高速に実行することができ、特にmacOS環境(Apple Slicon)での使用に最適化されています。
OrbStackは、Docker Desktop等の強力な代替手段として注目されております。
https://orbstack.dev/

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でのコンテナを用いた開発者体験をかなり良くしているので、ぜひ皆さんも試してみてください!

株式会社ZOZO

Discussion