Scaling前書きKubernetesは、クラスター環境全体のDockerコンテナー内に構築されたアプリケーションを管理するために設計されたシステムです。展開とスケーリングを含む、コンテナ化されたアプリケーションのライフサイクル全体を処理します。このガイドでは、CoreOSクラスターでKubernetesを開始する方法を示します。このシステムにより、関連するサービスをグループ化して、Kubernetesが「ポッド」と呼ぶものを使用して、単一のホスト上にユニットとして展開できます。ヘルスチェック機能、高可用性、およびリソースの効率的な使用も提供します。v0.7.0でテストされました。このソフトウェアは頻繁に変更されることに注意してください。以前のCoreOSガイドで使用したのと同じ基本的なCoreOSクラスターから始めます。[CoreOSクラスタリングガイド]に従ってください。これにより、3つのサーバーを構成できます。各ノードは基本的にCoreOSレベルで交換可能ですが、Kubernetes内では、より専門的な役割を割り当てる必要があります。マスターとして機能する1つのノードが必要です。これにより、APIサーバーやコントローラーマネージャーなどのいくつかの追加サービスが実行されます。このガイドでは、次の詳細を使用します。IPv4Rolecoreos-1192.168.2.110.120.0.1Mastercoreos-2192.168.2.210.120.0.2Minion1coreos-3192.168.2.310.120.0.3Minion2以下の構成では、マスターは作業を完了することができる完全に機能するミニオンサーバーにもなります。[CoreOSでのKubernetesのセットアップに関するブライアンケテルソンのガイド]から取得されました。+」の両方を設定する必要があります。パブリックIPアドレスは、ローカルマシンからの接続に使用できます。このガイドでは、この基本的なCoreOSクラスターを使用して、その上に多数のサービスをインストールします。これは、ネットワーク環境に関するKubernetesの仮定に適応するために作成された比較的新しいCoreOSプロジェクトです。このネットワーク層を展開に使用するようにDockerを構成します。Kubernetesをセットアップします。これにはいくつかの部分が含まれます。プロキシサービス、APIレイヤー、およびKubeletと呼ばれるノードレベルの「ポッド」管理システムを構成する必要があります。+`サービスを設定することです。これは、クラスター内の各マシンに個別のサブネットを提供するコンポーネントです。Dockerは、これをデプロイに使用するように構成されます。これは基本的な要件であるため、開始するのに最適な場所です。+」のビルド済みバイナリはありません。このため、バイナリをビルドして自分でインストールする必要があります。ビルド時間を節約するために、これを単一のマシンでビルドし、後で実行可能ファイルを他のノードに転送します。CoreOSの多くの部分と同様に、FlannelはGoプログラミング言語で構築されています。パッケージを構築するために完全なGo環境をセットアップするのではなく、この目的のために事前に構築されたコンテナを使用します。Googleは、これらのタイプの状況専用のGoコンテナを維持しています。+`ディレクトリに配置されますが、CoreOSでは自動的に作成されません。今すぐディレクトリを作成します。/opt/binこれで、Goコンテナを使用してプロジェクトをビルドできます。Hubからイメージを取得し、コンテナーを実行し、コンテナー内でパッケージをダウンロードしてビルドします。github.com/coreos/flannel"操作が完了すると、コンパイルされたバイナリをコンテナからコピーできます。コンテナIDを知る必要があります。-q結果は次のようなIDになります。`ディレクトリへのコピー操作を指定できます。」に配置されています。+`を使用する必要があります。/opt/bin/これで、最初のマシンでフランネルを使用できます。後、これを他のマシンにコピーします。KubernetesバイナリをビルドするKubernetesは、非常に多くの異なるアプリケーションとレイヤードテクノロジーで構成されています。現在、プロジェクトには、必要なさまざまなコンポーネントのビルド済みバイナリが含まれていません。代わりに自分で構築します。サーバーの_one_でのみこのプロセスを完了します。サーバーは本質的に統一されているため、生成するバイナリを転送するだけで、不必要なビルド時間を回避できます。最初のステップは、GitHubリポジトリからプロジェクトを複製することです。https://github.com/GoogleCloudPlatform/kubernetes.git次に、リポジトリ内のビルドディレクトリに移動します。ここから、付属のスクリプトを使用してバイナリをビルドできます。kubernetes/build./release.shこのプロセスにはかなり時間がかかります。Dockerコンテナを起動して、必要なバイナリパッケージをビルドします。+`ディレクトリでバイナリを見つけることができます。/opt/bin最初のマシンには、プロジェクトに必要なすべてのバイナリが含まれています。これで、他のサーバーでこれらのアプリケーションを取得することに集中できます。実行可能ファイルを他のサーバーに転送する最初のマシンには、Kubernetesクラスターの起動に必要なすべてのコンポーネントがあります。これが機能する前に、これらを他のマシンにコピーする必要があります。Kubernetesは統一されたインストールではないため(1つのマスターと複数のミニオンがあります)、各ホストはすべてのバイナリを必要としません。各ミニオンサーバーに必要なのは、スケジューラ、ドッカー、プロキシ、kubelet、およびflannel実行可能ファイルのみです。すべての実行可能ファイルを転送すると、今後の柔軟性が高まります。このガイドのすべてを転送します。+`フラグで接続してSSHエージェント情報を転送する必要があります。これは重要なステップです。以前にこのフラグを渡さなかった場合は、切断して再接続します。`コマンドを実行する必要があります。+`で接続する前に行います。バイナリを配置したディレクトリに移動することから始めます。/opt/binこれで、このディレクトリ内のファイルを他のホストにコピーできます。これを行うには、実行可能ファイルをシェルの標準出力に直接tarします。次に、これをSSHコマンドにパイプして、他のホストの1つに接続します。+`ディレクトリを作成し、ディレクトリに変更し、SSHトンネルを介して受信した情報を展開します。コマンド全体は次のようになります。-"これにより、すべての実行可能ファイルが指定したIPアドレスに転送されます。3番目のホストを使用してコマンドを再度実行します。-"これで、3台のマシンにすべての実行可能ファイルが配置されました。+`ユニットファイルを設定して、新しいアプリケーションを正しく設定および起動することです。マスターサーバーでのみ実行されるアプリケーションを処理します。system`ディレクトリに配置します。/etc/systemd/systemこれで、サービスファイルの作成を開始できます。マスターのみに2つのファイルを作成し、ミニオンにも属する5つのファイルを作成します。