私はDockerを使用しています。Traefik(* .dev.domain.com)とDocker Composeテンプレートを使用して、Gitブランチに基づいて環境を(単一サーバーに)展開するシステムを実装しました。
私はKubernetesが好きですが、インフラストラクチャのサーバーは1つに制限されているため、切り替えたことがありません。私はローカルインストール(Docker for Windows)を使用してのみ使用しました。
したがって、私の質問は、単一のサーバーでKubernetes "クラスター"(マスターとノード)を実行して、コンテナーをオーケストレーションおよびルーティングする(Traefik/Rancher/Docker Composeの代わりに)のは理にかなっていますか。
この使用は、現時点では開発とステージングのみを目的としているため、高可用性は必須ではありません。
ありがとう。
運用環境でない場合は、使用しているノードの数は関係ありません。つまり、この場合は問題ありません。ただし、同様の移植性を維持するために、productionで必要となるすべてのk8s機能がtest/devで利用可能であることを確認してください。
AFAIU、
ネイティブdocker run
またはdocker-compose
またはdocker engine swarm mode
を使用する単一のホストについて少なくとも以下を実行しない限り、kubernetesの要件は表示されません-
jwilder nginx proxy
を使用します)。docker engine swarm mode
またはkubernetes single master
またはminikube
から始めてください。これにより、上記のすべてのシナリオが自動的に処理され、Docker SwarmまたはkubernetesのYMLファイルに大きな変更を加えることなく、ノードを追加することでいつでもさらにスケールアップできます。参照-
https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/https://docs.docker.com/engine/swarm/
試してみる場合、最も簡単なオプションはおそらくminikube(シングルノードクラスターをローカルで実行するのに簡単ですが、一部の機能がない)か、大きなクラウドプロバイダーの1つからのマネージドKubernetesサービスの無料試用アカウントの1つを使用することです(完全な機能を備えたマルチノードですが、支払う前の使用は制限されています)。