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
つづく。
