5.3 KiB
title | content_template |
---|---|
AWS EC2上でKubernetesを動かす | templates/task |
{{% capture overview %}}
このページでは、AWS上でKubernetesクラスターをインストールする方法について説明します。
{{% /capture %}}
{{% capture prerequisites %}}
AWS上でKubernetesクラスターを作成するには、AWSからアクセスキーIDおよびシークレットアクセスキーを入手する必要があります。
サポートされているプロダクショングレードのツール
-
conjure-upはUbuntu上でネイティブなAWSインテグレーションを用いてKubernetesクラスターを作成するオープンソースのインストーラーです。
-
Kubernetes Operations - プロダクショングレードなKubernetesのインストール、アップグレード、管理が可能です。AWS上のDebian、Ubuntu、CentOS、RHELをサポートしています。
-
CoreOS TectonicはAWS上のContainer Linuxノードを含むKubernetesクラスターを作成できる、オープンソースのTectonic Installerを含みます。
-
CoreOSから生まれ、Kubernetes IncubatorがメンテナンスしているCLIツールkube-awsは、Container Linuxノードを使用したAWSツール(EC2、CloudFormation、Auto Scaling)によるKubernetesクラスターを作成および管理できます。
-
KubeOneは可用性の高いKubernetesクラスターを作成、アップグレード、管理するための、オープンソースのライフサイクル管理ツールです。
{{% /capture %}}
{{% capture steps %}}
クラスターの始まり
コマンドライン管理ツール: kubectl
クラスターの起動スクリプトによってワークステーション上にkubernetes
ディレクトリが作成されます。もしくは、Kubernetesの最新リリースをこちらからダウンロードすることも可能です。
次に、kubectlにアクセスするために適切なバイナリフォルダーをPATH
へ追加します:
# macOS
export PATH=<path/to/kubernetes-directory>/platforms/darwin/amd64:$PATH
# Linux
export PATH=<path/to/kubernetes-directory>/platforms/linux/amd64:$PATH
ツールに関する最新のドキュメントページはこちらです: kubectl manual
デフォルトでは、kubectl
はクラスターの起動中に生成されたkubeconfig
ファイルをAPIに対する認証に使用します。
詳細な情報は、kubeconfig filesを参照してください。
例
新しいクラスターを試すには、簡単なnginxの例を参照してください。
"Guestbook"アプリケーションは、Kubernetesを始めるもう一つのポピュラーな例です: [guestbookの例](https://github.com/kubernetes/examples/tree/{{< param "githubbranch" >}}/guestbook/)
より完全なアプリケーションについては、[examplesディレクトリ](https://github.com/kubernetes/examples/tree/{{< param "githubbranch" >}}/)を参照してください。
クラスターのスケーリング
kubectl
を使用したノードの追加および削除はサポートしていません。インストール中に作成されたAuto Scaling Group内の'Desired'および'Max'プロパティを手動で調整することで、ノード数をスケールさせることができます。
クラスターの解体
クラスターのプロビジョニングに使用した環境変数がexportされていることを確認してから、kubernetes
ディレクトリ内で以下のスクリプトを実行してください:
cluster/kube-down.sh
サポートレベル
IaaS プロバイダー | 構成管理 | OS | ネットワーク | ドキュメント | 適合 | サポートレベル |
---|---|---|---|---|---|---|
AWS | kops | Debian | k8s (VPC) | docs | Community (@justinsb) | |
AWS | CoreOS | CoreOS | flannel | docs | Community | |
AWS | Juju | Ubuntu | flannel, calico, canal | docs | 100% | Commercial, Community |
AWS | KubeOne | Ubuntu, CoreOS, CentOS | canal, weavenet | docs | 100% | Commercial, Community |
参考文献
Kubernetesクラスターの利用と管理に関する詳細は、Kubernetesドキュメントを参照してください。
{{% /capture %}}