Azure

Azure Kubernetes Service (AKS)でknativeを動作させる方法

はじめに

AKSでknativeを動作させるためには、公式ドキュメントに加えひと手間が必要となるのでその方法を解説します。
全体の流れは、AKSを起動し、istioのインストール、knativeのインストールというドキュメントと同様ですが途中ドキュメントにない設定が必要となります。
では解説していきます。

knative自体の説明は省きます。
また、検証したバージョンなどに依存関係がある可能もあるので完全に動作する保証はありません。
Azure CLIおよびkubectlがすでに利用できる状態であることを前提にしています。

ドキュメント
https://www.knative.dev/docs/install/knative-with-aks/

AKSの起動

基本的にドキュメントと同様です。

環境の名前を指定します。

リソースグループを作成します。

AKSを起動します。
バージョンは1.11.8です。たぶん1.12系でも大丈夫かと・・・

kubectlで操作できるように設定します。(–overwrite-existing は既存の設定の上書き)

問題なく起動していることを確認します。

istioのインストール

ドキュメント通り進めます。

ラベルを付けます。

起動されているPodを確認します。

RunningもしくはCompletedになるのを待ちます。

knativeのインストール

ドキュメント通り進めます。

以下をApplyしますがそれぞれPodの起動を確認しながら進めます。
そして途中別途servingをApply後作業が発生します。

適用中にエラーが発生した場合は再度同じものを走らせます。

serving を適用します。

Podの起動を確認します。

activatorとautoscalerがエラーになります。これを解消する必要があります。

以下で問題が報告されています。解決方法も記載されています。
詳しくは書かれていませんがistio側に問題があるようです。

Cannot install Knative serving
https://github.com/knative/serving/issues/2878
Requests don’t make it through the activator on AKS
https://github.com/knative/serving/issues/3026
Internal Kubernetes API Calls Blocked by Istio
https://github.com/istio/istio/issues/8696

最初にクラスターのFQDNを取得します。

次にFQDNをもとに以下のマニフェストを作成します。
それぞれ自分の環境に合わせて変更します。

istioの設定が完了したらPodを再度確認します。

すべてRunningしたことを確認します。

buildを展開します。

Podを確認します。

eventingを展開します。

Podを確認します。

eventing-sourcesを展開します。

Podを確認します。

monitoringを展開します。

Podを確認します。

clusterroleを展開します。

以上で全てインストールが完了です。

動作確認

動作確認をドキュメント通り進めます。
https://www.knative.dev/docs/install/getting-started-knative-app/

以下を展開します。

INGRESSGATEWAYを指定します。

Gatewayを指定しSVCを確認します。

IPを取得します。

URLを確認します。

「Hello Go Sample v1!」が帰ってくることを確認します。

以上で動作確認は完了です。

まとめ

Azureでもknativeが動作するようになりました。
今後、knativeを利用したアプリケーションも増えてくることでしょう。
また、Knative Lambda Runtime を利用すると Lambda on Azureなんてことも出来るようになると思います。
楽しみですね。

関連記事

  1. Azure

    AzureでFreeBSD!Marketplaceから簡単に利用できるようになった。

    はじめにくどうですあなたはFreeBSDユーザーですか?…

  2. Azure

    HDInsightのKafkaをJolokia(REST API)でモニタリングしてみる。

    はじめにくどうですHDInsightをモニタリングしたい場…

  3. Azure

    AzureでNAT設置パターンを考える。構築編、これでルートテーブルも大丈夫かもよ。

    はじめにくどうです。前回の投稿では概要だけ説明しました。Azur…

  4. Azure

    Azure Application Gateway にフロントポートを追加する。

    はじめにくどうです前回の記事では、httpsポートでAzu…

  5. Azure

    Attunity Replicate Expressを使ってAzureにデータベース移行を行ってみる…

    はじめにくどうです。今回のお題はデータベース移行についてです。 …

  6. Azure

    Azure Storage にTime Machine でバックアップをする方法

    Macbook 買ったのでバックアップしましょう。と、いうことでA…

  1. Kubernetes

    kubernetesに展開するfluentd-daemonset-elastic…
  2. AWS

    超メモ:cloud-initでgrowpartを利用する場合の注意
  3. Linux

    Windows 10 Creators UpdateでApache on Ubu…
  4. Azure

    Azureのサービスレベル契約の早見表。詳しくは調べてください。
  5. AlibabaCloud

    Azure、AWS、GCP、Alibaba CloudのCPU脆弱性対応のまとめ…
PAGE TOP