機械翻訳について

 Istioのアップグレード

Helmで管理されるようにすべてのIstioコンポーネントを変更し、アプリケーション・カタログから最新バージョンのIstioをインストールして、Kubernetesクラスタ内のIstioをアップグレードします。

これにより、Istio Release 1.20.4がRelease 1.20.5にアップグレードされます。 リリース1.20.4は、Oracle CNEリリース1.9で使用可能な最新のIstioバージョンです。 Istioは、アプリケーション・カタログにリストされている最新の使用可能なバージョンにアップグレードすることをお薦めします。これは、ここに示されているよりも新しいリリースである可能性があります。

  1. Istioのバージョンを確認します。
    kubectl describe pod --namespace istio-system istiod

    「タブ」キーを入力して、istiodポッドの名前を自動入力します。

    出力には、Istioバージョンを示すImageオプションが含まれています。たとえば:

     Image: container-registry.oracle.com/olcne/pilot:1.20.4
  2. アプリケーション・カタログでIstioバージョンを検索します。

    複数のIstioバージョンをインストールできます。 最新バージョンをインストールすることをお薦めします。 使用可能なバージョンのリストを表示するには、次を使用します:

    ocne catalog search --pattern istio
  3. Helmによって管理されるIstioオブジェクトを変更します。

    Istioベース・オブジェクトを変更します:

    kubectl --namespace istio-system label ServiceAccount istio-reader-service-account app.kubernetes.io/managed-by=Helm
    kubectl --namespace istio-system annotate ServiceAccount istio-reader-service-account meta.helm.sh/release-name=istio-base
    kubectl --namespace istio-system annotate ServiceAccount istio-reader-service-account meta.helm.sh/release-namespace=istio-system
     
    kubectl label ValidatingWebhookConfiguration istiod-default-validator app.kubernetes.io/managed-by=Helm
    kubectl annotate ValidatingWebhookConfiguration istiod-default-validator meta.helm.sh/release-name=istio-base
    kubectl annotate ValidatingWebhookConfiguration istiod-default-validator meta.helm.sh/release-namespace=istio-system

    Istiodオブジェクトを変更します:

    kubectl --namespace istio-system label ServiceAccount istiod app.kubernetes.io/managed-by=Helm
    kubectl --namespace istio-system annotate ServiceAccount istiod meta.helm.sh/release-name=istiod
    kubectl --namespace istio-system annotate ServiceAccount istiod meta.helm.sh/release-namespace=istio-system
     
    kubectl --namespace istio-system label ConfigMap istio app.kubernetes.io/managed-by=Helm
    kubectl --namespace istio-system annotate ConfigMap istio meta.helm.sh/release-name=istiod
    kubectl --namespace istio-system annotate ConfigMap istio meta.helm.sh/release-namespace=istio-system
     
    kubectl --namespace istio-system label ConfigMap istio-sidecar-injector app.kubernetes.io/managed-by=Helm
    kubectl --namespace istio-system annotate ConfigMap istio-sidecar-injector meta.helm.sh/release-name=istiod
    kubectl --namespace istio-system annotate ConfigMap istio-sidecar-injector meta.helm.sh/release-namespace=istio-system
     
    kubectl label ClusterRole istiod-clusterrole-istio-system app.kubernetes.io/managed-by=Helm
    kubectl annotate ClusterRole istiod-clusterrole-istio-system meta.helm.sh/release-name=istiod
    kubectl annotate ClusterRole istiod-clusterrole-istio-system meta.helm.sh/release-namespace=istio-system
     
    kubectl label ClusterRole istiod-gateway-controller-istio-system app.kubernetes.io/managed-by=Helm
    kubectl annotate ClusterRole istiod-gateway-controller-istio-system meta.helm.sh/release-name=istiod
    kubectl annotate ClusterRole istiod-gateway-controller-istio-system meta.helm.sh/release-namespace=istio-system
     
    kubectl label ClusterRole istio-reader-clusterrole-istio-system app.kubernetes.io/managed-by=Helm
    kubectl annotate ClusterRole istio-reader-clusterrole-istio-system meta.helm.sh/release-name=istiod
    kubectl annotate ClusterRole istio-reader-clusterrole-istio-system meta.helm.sh/release-namespace=istio-system
     
    kubectl label ClusterRoleBinding istiod-clusterrole-istio-system app.kubernetes.io/managed-by=Helm
    kubectl annotate ClusterRoleBinding istiod-clusterrole-istio-system meta.helm.sh/release-name=istiod
    kubectl annotate ClusterRoleBinding istiod-clusterrole-istio-system meta.helm.sh/release-namespace=istio-system
     
    kubectl label ClusterRoleBinding istiod-gateway-controller-istio-system app.kubernetes.io/managed-by=Helm
    kubectl annotate ClusterRoleBinding istiod-gateway-controller-istio-system meta.helm.sh/release-name=istiod
    kubectl annotate ClusterRoleBinding istiod-gateway-controller-istio-system meta.helm.sh/release-namespace=istio-system
     
    kubectl label ClusterRoleBinding istio-reader-clusterrole-istio-system app.kubernetes.io/managed-by=Helm
    kubectl annotate ClusterRoleBinding istio-reader-clusterrole-istio-system meta.helm.sh/release-name=istiod
    kubectl annotate ClusterRoleBinding istio-reader-clusterrole-istio-system meta.helm.sh/release-namespace=istio-system
     
    kubectl --namespace istio-system label Role istiod app.kubernetes.io/managed-by=Helm
    kubectl --namespace istio-system annotate Role istiod meta.helm.sh/release-name=istiod
    kubectl --namespace istio-system annotate Role istiod meta.helm.sh/release-namespace=istio-system
     
    kubectl --namespace istio-system label RoleBinding istiod app.kubernetes.io/managed-by=Helm
    kubectl --namespace istio-system annotate RoleBinding istiod meta.helm.sh/release-name=istiod
    kubectl --namespace istio-system annotate RoleBinding istiod meta.helm.sh/release-namespace=istio-system
     
    kubectl --namespace istio-system label Service istiod app.kubernetes.io/managed-by=Helm
    kubectl --namespace istio-system annotate Service istiod meta.helm.sh/release-name=istiod
    kubectl --namespace istio-system annotate Service istiod meta.helm.sh/release-namespace=istio-system
     
    kubectl --namespace istio-system label Deployment istiod app.kubernetes.io/managed-by=Helm
    kubectl --namespace istio-system annotate Deployment istiod meta.helm.sh/release-name=istiod
    kubectl --namespace istio-system annotate Deployment istiod meta.helm.sh/release-namespace=istio-system
    
    kubectl label MutatingWebhookConfiguration istio-sidecar-injector app.kubernetes.io/managed-by=Helm
    kubectl annotate MutatingWebhookConfiguration istio-sidecar-injector meta.helm.sh/release-name=istiod
    kubectl annotate MutatingWebhookConfiguration istio-sidecar-injector meta.helm.sh/release-namespace=istio-system
    
    kubectl --namespace istio-system label HorizontalPodAutoscaler istiod app.kubernetes.io/managed-by=Helm
    kubectl --namespace istio-system annotate HorizontalPodAutoscaler istiod meta.helm.sh/release-name=istiod 
    kubectl --namespace istio-system annotate HorizontalPodAutoscaler istiod meta.helm.sh/release-namespace=istio-system

    Istio-Ingress Gatewayオブジェクトを変更します:

    kubectl --namespace istio-system label ServiceAccount istio-ingressgateway-service-account app.kubernetes.io/managed-by=Helm
    kubectl --namespace istio-system annotate ServiceAccount istio-ingressgateway-service-account meta.helm.sh/release-name=istio-ingressgateway
    kubectl --namespace istio-system annotate ServiceAccount istio-ingressgateway-service-account meta.helm.sh/release-namespace=istio-system
    
    kubectl --namespace istio-system label Service istio-ingressgateway app.kubernetes.io/managed-by=Helm
    kubectl --namespace istio-system annotate Service istio-ingressgateway meta.helm.sh/release-name=istio-ingressgateway
    kubectl --namespace istio-system annotate Service istio-ingressgateway meta.helm.sh/release-namespace=istio-system
     
    kubectl --namespace istio-system label Deployment istio-ingressgateway app.kubernetes.io/managed-by=Helm
    kubectl --namespace istio-system annotate Deployment istio-ingressgateway meta.helm.sh/release-name=istio-ingressgateway
    kubectl --namespace istio-system annotate Deployment istio-ingressgateway meta.helm.sh/release-namespace=istio-system
    
    kubectl --namespace istio-system label Role istio-ingressgateway-sds app.kubernetes.io/managed-by=Helm
    kubectl --namespace istio-system annotate Role istio-ingressgateway-sds meta.helm.sh/release-name=istio-ingressgateway
    kubectl --namespace istio-system annotate Role istio-ingressgateway-sds meta.helm.sh/release-namespace=istio-system
     
    kubectl --namespace istio-system label RoleBinding istio-ingressgateway-sds app.kubernetes.io/managed-by=Helm
    kubectl --namespace istio-system annotate RoleBinding istio-ingressgateway-sds meta.helm.sh/release-name=istio-ingressgateway
    kubectl --namespace istio-system annotate RoleBinding istio-ingressgateway-sds meta.helm.sh/release-namespace=istio-system
    
    kubectl --namespace istio-system label HorizontalPodAutoscaler istio-ingressgateway app.kubernetes.io/managed-by=Helm 
    kubectl --namespace istio-system annotate HorizontalPodAutoscaler istio-ingressgateway meta.helm.sh/release-name=istio-ingressgateway 
    kubectl --namespace istio-system annotate HorizontalPodAutoscaler istio-ingressgateway meta.helm.sh/release-namespace=istio-system

    Istio-Egress Gatewayオブジェクトを変更します:

    kubectl --namespace istio-system label ServiceAccount istio-egressgateway-service-account app.kubernetes.io/managed-by=Helm
    kubectl --namespace istio-system annotate ServiceAccount istio-egressgateway-service-account meta.helm.sh/release-name=istio-egressgateway
    kubectl --namespace istio-system annotate ServiceAccount istio-egressgateway-service-account meta.helm.sh/release-namespace=istio-system
    
    kubectl --namespace istio-system label Service istio-egressgateway app.kubernetes.io/managed-by=Helm
    kubectl --namespace istio-system annotate Service istio-egressgateway meta.helm.sh/release-name=istio-egressgateway
    kubectl --namespace istio-system annotate Service istio-egressgateway meta.helm.sh/release-namespace=istio-system
     
    kubectl --namespace istio-system label Deployment istio-egressgateway app.kubernetes.io/managed-by=Helm
    kubectl --namespace istio-system annotate Deployment istio-egressgateway meta.helm.sh/release-name=istio-egressgateway
    kubectl --namespace istio-system annotate Deployment istio-egressgateway meta.helm.sh/release-namespace=istio-system
    
    kubectl --namespace istio-system label Role istio-egressgateway-sds app.kubernetes.io/managed-by=Helm
    kubectl --namespace istio-system annotate Role istio-egressgateway-sds meta.helm.sh/release-name=istio-egressgateway
    kubectl --namespace istio-system annotate Role istio-egressgateway-sds meta.helm.sh/release-namespace=istio-system
     
    kubectl --namespace istio-system label RoleBinding istio-egressgateway-sds app.kubernetes.io/managed-by=Helm
    kubectl --namespace istio-system annotate RoleBinding istio-egressgateway-sds meta.helm.sh/release-name=istio-egressgateway
    kubectl --namespace istio-system annotate RoleBinding istio-egressgateway-sds meta.helm.sh/release-namespace=istio-system
    
    kubectl --namespace istio-system label HorizontalPodAutoscaler istio-egressgateway app.kubernetes.io/managed-by=Helm 
    kubectl --namespace istio-system annotate HorizontalPodAutoscaler istio-egressgateway meta.helm.sh/release-name=istio-egressgateway 
    kubectl --namespace istio-system annotate HorizontalPodAutoscaler istio-egressgateway meta.helm.sh/release-namespace=istio-system 
  4. アプリケーション・カタログからIstioをインストールします。

    Istioの最新バージョンをインストールしてください。 これは、この例で示したものより後の場合があります。

    ocne application install --namespace istio-system --name istio-base --release istio-base --version 1.20.5
    ocne application install --namespace istio-system --name istiod --release istiod --version 1.20.5
    ocne application install --namespace istio-system --name istio-ingress --release istio-ingressgateway --version 1.20.5
    ocne application install --namespace istio-system --name istio-egress --release istio-egressgateway --version 1.20.5
  5. Istioポッドを再起動します。
    kubectl rollout restart deployment --namespace istio-system istiod
    kubectl rollout restart deployment --namespace istio-system istio-ingressgateway
    kubectl rollout restart deployment --namespace istio-system istio-egressgateway
  6. Istioポッドが実行されていることを確認してください。
    kubectl get pods -o wide -A
  7. Istioインストールを検証します。
    kubectl get pods -A -o yaml | grep image: | grep proxyv2 | grep -i cont

    出力には、Istioバージョンを示すIstioポッドのimageオプションがproxyv2:1.20.5になりました。 たとえば:

    image: container-registry.oracle.com/olcne/proxyv2:1.20.5
    image: container-registry.oracle.com/olcne/proxyv2:1.20.5
    image: container-registry.oracle.com/olcne/proxyv2:1.20.5
    image: container-registry.oracle.com/olcne/proxyv2:1.20.5