NTNX>日記

個人的な趣味による Nutanix Community Edition 日記。Japanese のみですみません。

Nutanix Enterprise AI 2.4 をデプロイしてみる。Part-04:要件ソフトウェアのインストール

NKP に、Nutanix Enterprise AI(NAI)2.4 を展開してみます。今回は、Kubernetes クラスタに NAI の要件となっているソフトウェアをインストールします。

 

前回はこちら。

 

今回の内容です。

 

1. インストールずみソフトウェアの確認

NAI の要件となっているソフトウェアのうち、インストール済みのものを確認しておきます。

 

cert-manager

NKP v2.15 では、デフォルトで v1.16.4 がインストールされます。

$ kubectl get deployment -n cert-manager cert-manager -o json | jq -r .metadata.annotations
{
  "cert-manager.clusterctl.cluster.x-k8s.io/version": "v1.16.4",
  "deployment.kubernetes.io/revision": "1"
}

 

kube-prometheus-stack

NKP v2.15 では、デフォルトで v70.4.2 がインストールされます。

$ kubectl get appdeployments.apps.kommander.d2iq.io -n kommander kube-prometheus-stack
NAME                    APP                            AGE
kube-prometheus-stack   kube-prometheus-stack-70.4.2   33h

 

Gateway API

NKP v2.15 では、デフォルトで v1.2.1 がインストールされています。

$ kubectl get crd gateways.gateway.networking.k8s.io -o json | jq -r .metadata.annotations
{
  "api-approved.kubernetes.io": "https://github.com/kubernetes-sigs/gateway-api/pull/3328",
  "app.kubernetes.io/managed-by": "Helm",
  "gateway.networking.k8s.io/bundle-version": "v1.2.1",
  "gateway.networking.k8s.io/channel": "standard",
  "helm.sh/resource-policy": "keep",
  "meta.helm.sh/release-name": "gateway-api-crds",
  "meta.helm.sh/release-namespace": "kommander"
}

 

これは、Traefic(traefik-crds v1.6.0)によってインストールされているようです。

$ kubectl get helmreleases -n kommander gateway-api-crds -o wide
NAME               AGE   READY   STATUS
gateway-api-crds   33h   True    Helm install succeeded for release kommander/gateway-api-crds.v1 with chart traefik-crds@1.6.0

 

2. Envoy Gateway のインストール

Envoy Gateway は、Helm でインストールします。

helm install envoy-gateway oci://docker.io/envoyproxy/gateway-helm \
-n envoy-gateway-system \
--create-namespace \
--version v1.3.2

 

Pod が起動されるまで待ちます。

$ kubectl get pod -n envoy-gateway-system
NAME                             READY   STATUS    RESTARTS   AGE
envoy-gateway-8658466499-m7xrf   1/1     Running   0          56s

 

インストールが完了すると、API リソースが追加されます。

$ kubectl api-resources --api-group=gateway.envoyproxy.io
NAME                     SHORTNAMES   APIVERSION                       NAMESPACED   KIND
backends                 be           gateway.envoyproxy.io/v1alpha1   true         Backend
backendtrafficpolicies   btp          gateway.envoyproxy.io/v1alpha1   true         BackendTrafficPolicy
clienttrafficpolicies    ctp          gateway.envoyproxy.io/v1alpha1   true         ClientTrafficPolicy
envoyextensionpolicies   eep          gateway.envoyproxy.io/v1alpha1   true         EnvoyExtensionPolicy
envoypatchpolicies       epp          gateway.envoyproxy.io/v1alpha1   true         EnvoyPatchPolicy
envoyproxies             eproxy       gateway.envoyproxy.io/v1alpha1   true         EnvoyProxy
httproutefilters         hrf          gateway.envoyproxy.io/v1alpha1   true         HTTPRouteFilter
securitypolicies         sp           gateway.envoyproxy.io/v1alpha1   true         SecurityPolicy

 

3. KServe のインストール

KServe も、Helm でインストールします。手順については、下記のあたりが参考になります。

 

まず、kserve-crd をインストールします。

helm install kserve-crd oci://ghcr.io/kserve/charts/kserve-crd \
--version v0.15.2 \
--namespace kserve \
--create-namespace

 

インストールが完了すると、API リソースが追加されます。

$ kubectl api-resources --api-group=serving.kserve.io
NAME                       SHORTNAMES   APIVERSION                   NAMESPACED   KIND
clusterservingruntimes                  serving.kserve.io/v1alpha1   false        ClusterServingRuntime
clusterstoragecontainers                serving.kserve.io/v1alpha1   false        ClusterStorageContainer
inferencegraphs            ig           serving.kserve.io/v1alpha1   true         InferenceGraph
inferenceservices          isvc         serving.kserve.io/v1beta1    true         InferenceService
localmodelcaches                        serving.kserve.io/v1alpha1   false        LocalModelCache
localmodelnodegroups                    serving.kserve.io/v1alpha1   false        LocalModelNodeGroup
localmodelnodes                         serving.kserve.io/v1alpha1   false        LocalModelNode
servingruntimes                         serving.kserve.io/v1alpha1   true         ServingRuntime
trainedmodels              tm           serving.kserve.io/v1alpha1   true         TrainedModel

 

kserve をインストールします。NAI の構成にあわせて、下記のようにパラメータを指定しています。

  • モードは RawDeployment
  • Gateway API を有効化
  • kserve.controller.gateway.ingressGateway.kserveGateway は、「nai-system」Namespace の「nai-ingress-gateway」Gateway を指定
helm install kserve oci://ghcr.io/kserve/charts/kserve \
--version v0.15.2 \
--namespace kserve \
--create-namespace \
--set kserve.controller.deploymentMode=RawDeployment \
--set kserve.controller.gateway.ingressGateway.enableGatewayApi=true \
--set kserve.controller.gateway.ingressGateway.kserveGateway=nai-system/nai-ingress-gateway

 

Pod が起動されるまで待ちます。

$ kubectl get pod -n kserve
NAME                                         READY   STATUS    RESTARTS   AGE
kserve-controller-manager-85768d7b78-8f8nm   2/2     Running   0          47s

 

つづく。

 

©2025 gowatana
クリエイティブ・コモンズ・ライセンスこの 作品 は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。