クイックスタートを使用してKnativeをインストールする¶
このクイックスタートチュートリアルでは、Knativeのquickstart
プラグインを使用して、簡略化されたローカルKnativeインストールを提供します。
始める前に¶
警告
Knative quickstart
環境は実験的な使用のみを目的としています。本番環境対応のインストールについては、YAMLベースのインストールまたはKnative Operatorインストールを参照してください。
Knative quickstart
デプロイメントを開始する前に、以下をインストールする必要があります。
-
Dockerコンテナノードを備えたローカルKubernetesクラスタを実行できるようにするためのkind (DockerのKubernetes) またはminikube。
-
Kubernetesクラスタに対してコマンドを実行するためのKubernetes CLI (
kubectl
)。kubectl
を使用して、アプリケーションをデプロイし、クラスタリソースを検査および管理し、ログを表示できます。 -
Knative CLI (
kn
)。手順については、次のセクションを参照してください。 -
クラスタを作成するために、最低3つのCPUと3GBのRAMが利用可能である必要があります。
Knative CLIのインストール¶
Knative CLI (kn
) は、YAMLファイルを直接作成または変更することなく、KnativeサービスやイベントソースなどのKnativeリソースを迅速かつ簡単に作成するためのインターフェースを提供します。
kn
CLIは、オートスケーリングやトラフィック分割などの複雑な手順の完了も簡略化します。
次のいずれかを行います
-
Homebrewを使用して
kn
をインストールするには、次のコマンドを実行します(以前のバージョンからアップグレードする場合は、代わりにbrew upgrade
を使用してください)brew install knative/client/kn
Homebrewを使用した
kn
のアップグレードに問題がありますか?Homebrewを使用したアップグレードに問題がある場合は、
master
ブランチの名前がmain
に変更されたCLIリポジトリの変更が原因である可能性があります。この問題を解決するには、次のコマンドを実行します。brew uninstall kn brew untap knative/client --force brew install knative/client/kn
システム用の実行可能バイナリをダウンロードし、システムパスに配置することで、kn
をインストールできます。
-
kn
リリースページからシステム用のバイナリをダウンロードします。 -
バイナリの名前を
kn
に変更し、次のコマンドを実行して実行可能にしますmv <path-to-binary-file> kn chmod +x kn
ここで、
<path-to-binary-file>
は、前の手順でダウンロードしたバイナリファイルへのパス(例:kn-darwin-amd64
またはkn-linux-amd64
)です。 -
次のコマンドを実行して、実行可能バイナリファイルを
PATH
上のディレクトリに移動しますmv kn /usr/local/bin
-
kn
コマンドが正しく機能していることを確認します。例:kn version
-
kn
クライアントリポジトリを確認してくださいgit clone https://github.com/knative/client.git cd client/
-
実行可能バイナリをビルドします
hack/build.sh -f
-
次のコマンドを実行して、実行可能バイナリファイルを
PATH
上のディレクトリに移動しますmv kn /usr/local/bin
-
kn
コマンドが正しく機能していることを確認します。例:kn version
イメージへのリンクはこちらで入手できます
コンテナイメージからkn
を実行できます。例:
docker run --rm -v "$HOME/.kube/config:/root/.kube/config" gcr.io/knative-releases/knative.dev/client/cmd/kn:latest service list
注意
コンテナイメージからkn
を実行しても、バイナリは永続的なパスに配置されません。この手順は、kn
を使用するたびに繰り返す必要があります。
Knativeクイックスタートプラグインをインストールする¶
開始するには、Knative quickstart
プラグインをインストールします。
次のいずれかを行います
-
Homebrewを使用して
quickstart
プラグインをインストールするには、次のコマンドを実行します(以前のバージョンからアップグレードする場合は、代わりにbrew upgrade
を使用してください)brew install knative-extensions/kn-plugins/quickstart
-
quickstart
リリースページからシステム用のバイナリをダウンロードします。 -
OSとアーキテクチャ情報を削除するようにファイルの名前を変更します。たとえば、
kn-quickstart-amd64
の名前をkn-quickstart
に変更します。 -
プラグインを実行可能にします。たとえば、
chmod +x kn-quickstart
。 -
次のコマンドを実行して、実行可能バイナリファイルを
PATH
上のディレクトリに移動しますmv kn-quickstart /usr/local/bin
-
次のコマンドを実行して、プラグインが機能していることを確認します。
kn quickstart --help
-
kn-plugin-quickstart
リポジトリを確認してくださいgit clone https://github.com/knative-extensions/kn-plugin-quickstart.git cd kn-plugin-quickstart/
-
実行可能バイナリをビルドします
hack/build.sh
-
次のコマンドを実行して、実行可能バイナリファイルを
PATH
上のディレクトリに移動しますmv kn-quickstart /usr/local/bin
-
次のコマンドを実行して、プラグインが機能していることを確認します。
kn quickstart --help
Knativeクイックスタートプラグインを実行する¶
quickstart
プラグインは、次の機能を完了します。
- 選択したKubernetesインスタンスがインストールされているかどうかを確認します。
knative
という名前のクラスタを作成します。- Kourierをデフォルトのネットワークレイヤーとして、sslip.ioをDNSとして、Knative Servingをインストールします
- Knative Eventingをインストールし、インメモリのBrokerとChannelの実装を作成します。
Knativeのローカルデプロイメントを取得するには、quickstart
プラグインを実行します。
-
次のコマンドを実行して、kindを使用してKnativeとKubernetesをインストールします。
kn quickstart kind
注意
クイックスタートはポート80を使用し、そのポートに他のサービスがバインドされている場合、インストールに失敗します。ポート80を使用しているサービスがある場合は、クイックスタートを使用する前に停止する必要があります。別のサービスがポート80を使用しているかどうかを確認するには
netstat -tnlp | grep 80
-
プラグインが完了したら、
knative
という名前のクラスタがあることを確認しますkind get clusters
-
次のコマンドを実行して、minikubeインスタンスにKnativeとKubernetesをインストールします。
注意
minikubeクラスタは3GBのRAMで作成されます。minikubeでメモリ構成を設定することにより、3GB未満ではない異なる値に変更できます。たとえば、
minikube config set memory 4096
は4GBのRAMを使用します。kn quickstart minikube
-
前のコマンドの出力では、minikubeトンネルを実行するように求められました。次のコマンドを実行して、セカンダリターミナルウィンドウでプロセスを開始してから、プライマリウィンドウに戻ってEnterキーを押して続行します。
Knativeminikube tunnel --profile knative
quickstart
環境を使用しているときはいつでも、トンネルはターミナルウィンドウで実行を継続する必要があります。トンネルコマンドは、クラスタがホストコンピュータからLoadBalancerとしてKnativeイングレスサービスにアクセスできるようにするために必要です。
注意
トンネルプロセスを終了し、ネットワークルートをクリーンアップするには、
Ctrl-C
を入力します。minikube tunnel
コマンドの詳細については、minikubeドキュメントを参照してください。 -
プラグインが完了したら、
knative
という名前のクラスタがあることを確認しますminikube profile list
次のステップ¶
- Knativeチュートリアルで、最初のServiceをデプロイする方法を学びましょう。
- Knativeのコードサンプルを試してみましょう。
- Knative ServingとKnative Eventingのガイドを参照してください。