Docker Kubernetes Service (DKS)でKubernetesのライフサイクル管理を簡単に! #docker #kubernetes #k8s
この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。
この記事ではKubernetesで始める多くのチュートリアルやガイドをご紹介します。一般的に、これらは最初にKubernetesクラスタをデプロイするための主要な概念と手順の概要を詳しく説明しています。しかし、Kubernetesを大規模または本番環境に展開したいとき、その方法はかなり複雑になり、初期構築・設定と継続管理の両方(Day 1 and Day 2 operations)に関する新しい必須条件があります。
先端のコンテナプラットフォームであるDocker Enterprise 3.0はDocker Kubernetes Service (DKS)を含んでいます。これは開発者のデスクトップから本番サーバに至るまで、シームレスなKubernetes体験を提供します。DKSはKubernetesの複雑性を抽象化することで、企業におけるKubernetesの安全な管理を簡単化します。Docker Enterpriseでは、簡単なCLIコマンド群を使うことで、運用チームが認証済Kubernetes環境を簡単にデプロイ・スケール・バックアップ・リストア・アップグレードすることができます。このブログ記事では、いくつか新機能に焦点を当てていきます。
宣言的なKubernetesのクラスタモデル
一般的に、現実のKubernetesクラスタのデプロイには、企業が馴染んでいるインフラストラクチャ、ストレージ、ネットワークスタックと統合できる環境となるように設計・計画することを必要としています。通常、設計段階ではインスタンスサイズ、ディスクスペース、ロードバランサの設計など、特定のニーズを満たすためにカスタマイズする多くの要素を決定するためのさまざまな分野に関する専門知識を必要とします。
デプロイの単純化の助けとなるよう、Docker社ではDockerのクラスタ処理を単純化するためのCLIプラグインを作成しました。これはAWS、Azure、vSphere環境のために昨年公開したDocker認定インフラストラクチャに基いています。宣言的モデルを用いた自動化ツールなので、次のような構造のYAMLファイルでクラスタ設定を「ソース管理」することができます:
variable: <name>: provider: <name>: <parameter>: cluster: <component>: <parameter>: resource: <type>: <name>: <parameter>:
このファイルは、インスタンスタイプ、さまざまなKubernetesのバージョンを反映したDocker Enterpriseのバージョン、使用するOS、ネットワーク設定などを含んだ設定を定義します。定義したら、このファイルを新しいCLIコマンドである「docker cluster」に与えます:
作成と調査
クラスタYAMLを定義したら、同一のあるべき状態の環境の作成・複製に使うことができます。これにより、同一のステージング環境と本番環境を簡単に作成でき、Docker Enterpriseの新機能であるコンテキスト切り替えを使って簡単に両者を行き来することができます。Docker Enterpriseでは、Kubernetesのマネージャとワーカーは必要なすべてのコンポーネントと一緒に自動的にインストールされます。また、Calicoという組み込みですぐに使えるCNIプラグインも同梱しています:
また、デプロイに使った設定を見ることで、確認しているクラスタを調べることができます。
シンプルなDay 2 Operations
独自のKubernetesインフラストラクチャを管理する際にかなり骨の折れる作業の1つは、アップグレードとバックアップです。手動デプロイでは、各コンポーネントを自前でアップグレードする必要があるので、それを自動化するためのスクリプトが必要になるでしょう。Docker Enterpriseなら、信じられないくらいに簡単にアップグレードとバックアップができます。
アップデート
環境に変更を加えるには、「docker cluster update」コマンドを実行するだけです。宣言的モデルを使っているなら、例えばバージョン番号を設定ファイル上で変更することができるのです。CLIプラグインは変更を特定し、そのコンポーネントを安全にアップグレードするよう実装しています。シンプルな設定ファイルを活用する単一のコマンドを使って、Docker Engine、Universal Control Plane (UCP)、Docker Trusted Registry (DTR)を簡単にアップグレードすることができます。
また「docker cluster」コマンドは、ワーカーノードにブルー・グリーンデプロイメントモデルを使うことでダウンタイムなしにクラスタをアップグレードすることができる、Docker Enterprise 3.0の新機能の恩恵を受けることもできます。既存のワーカーノードをアップグレードする代わりに、最新のDocker Engineになっている新しいワーカーノードをクラスタに参加させ、ブルー・グリーン方式でワーカーノードをアップグレードすることもできます。これにより、アプリケーションを古い「グリーン」ノードから、ダウンタイムなしでクラスタに参加した新しい「ブルー」ノードへとマイグレーションすることができます。
バックアップとリストア
「docker cluster backup」コマンドはクラスタ環境を1つのtarボールファイルとして格納します。オプションとして、バックアップを暗号化し、それから簡単にクラスタをリストアすることもできます。
Docker Enterprise 3.0のDocker Kubernetes Serviceについてもっと学ぶには:
- DockerConの録画を観る: Lifecycle Management of Docker Clusters
- オンデマンドウェビナーを視聴する: How Docker Simplifies Kubernetes for the Masses
- Docker Enterprise 3.0ベータ版に登録する
原文: Kubernetes Lifecycle Management with Docker Kubernetes Service (DKS)