Amazon Web Services ブログ

Amazon EKS アドオンの高度な設定

この記事は Amazon EKS add-ons: Advanced configuration (記事公開日: 2022 年 12月 14 日) を翻訳したものであり、以前の記事 Amazon EKS add-ons preserve customer edits (日本語訳: Amazon EKS アドオンでのお客様による変更内容の保持) の続きです。

はじめに

2022 年 10 月、Amazon Elastic Kubernetes Service (Amazon EKS) アドオンチームは、変更内容を保持する機能を導入し、お客様が Kubernetes API を使用して Amazon EKS アドオンの設定を安全に変更できるようにしました。この機能強化により、ユーザーは、--resolve-conflicts PRESERVE パラメータを渡すことで、更新操作中にクラスター上のアドオン設定の変更を保持できるようになりました。

本日、この取り組みを発展させ、Amazon EKS アドオンの高度な設定のサポートを開始します。これにより、お客様は運用ソフトウェアをより自由にコントロールできるようになります。お客様は、Amazon EKS アドオン API を通じて直接設定を提供し、クラスター作成時に運用ソフトウェアのインストールと設定を 1 ステップで行うことができるようになります。これにより、お客様は既存の Infrastructure as Code (IaC) ツールを活用して Amazon EKS が提供する運用ソフトウェアを設定し、デフォルトの構成設定では対応できない、パフォーマンス、コンプライアンス、または追加の要件を満たすことができます。Amazon EKS アドオン API を通じた高度な設定のサポートは、本日より以下のアドオンで利用可能です。

これらのアドオンで利用可能な設定パラメータは、CoreDNS corefile の変更、AWS Fargate で CoreDNS を実行するための設定の簡素化、kube-proxy での IPVS モードの有効化、kube-proxy へのメモリ割り当ての追加、プレフィックス委任などの VPC CNI パラメータの有効化など、Containers Roadmap で最もリクエストの多い問題に対応しています。

高度な設定のサポートはまた、Amazon EKS 上の特定の運用ソフトウェアを使い始めるために必要な入力を簡素化するという、エキサイティングな新しいユースケースを可能にします。その良い例が、AWS Distro for OpenTelemetry (ADOT) です。ADOT は、アプリケーション監視のための分散トレースとメトリクスを収集するためのオープンソースの API、ライブラリ、エージェントを提供する OpenTelemetry の AWS が提供およびサポートするディストリビューションです。Amazon EKS アドオンを使用して、OpenTelemetry Operator をインストールし、OpenTelemetryCollector CustomResourceDefinition (CRD) を介して OpenTelemetry Collector インスタンスを構成します。この CRD は OpenTelemetry Collector の全領域をサポートしますが、クラスターのオブザーバビリティに取り組み始めるユーザーにとっては情報量が多すぎます。ADOT の Amazon EKS アドオン設定サポートにより、設定入力に cloudwatch: true、または amp:true をオプションで指定できるようになりました。これにより、Amazon EKS は自動的にベストプラクティスに沿ったカスタムリソースを適用し、Amazon CloudWatchAmazon Managed Service for Prometheus など、目的の宛先にテレメトリデータを送信する OpenTelemetry Collector を設定します。

機能の概要

Amazon EKS アドオン API に新しい configurationValues パラメータが追加されました。ローンチ時点では、このパラメータは、JSON BLOB として設定を受け入れます。YAML のサポートも近日中に開始される予定です。JSON BLOB は、作成または更新しようとしているアドオンの特定バージョンごとの JSON Schema に準拠する必要があります。スキーマは、新しい API である Amazon EKS DescribeAddonConfiguration API を通じて利用可能です。以下で説明するように、configurationValues パラメータは aws eks create-addon および aws eks update-addon AWS CLI コマンドで使用できます。

アドオン作成のワークフロー例

お客様が新しい configurationValues JSON パラメータをどのように使用できるのかを説明するために、次のシナリオを考えてみましょう。既存の Amazon EKS クラスターがあり、AWS CLI を使用して、create-addon コマンドで既存のクラスタに VPC CNI アドオンを追加したいとします。ただし、デフォルトの設定を変更し、プレフィックス委任を有効にして、Amazon EC2 ノードで利用可能な IP アドレスの数を増やしたいと考えています。アドオンの作成中にアドオンをカスタマイズするには、まず、使用する予定のアドオンバージョンで目的の設定項目が利用可能かどうかを確認する必要があります。新しい API である Amazon EKS DescribeAddonConfiguration API と、それに対応する describe-addon-configuration CLI コマンドを使用して、この確認を実行します。

このシナリオでは、2 段階のプロセスで確認します。まず、以下の例で示すように、describe-addon-versions CLI コマンドを使用して、Amazon EKS API からアドオンのバージョンを取得します。

aws eks describe-addon-versions --addon-name vpc-cni
{
    "addons": [
        {
            "addonName": "vpc-cni",
            "type": "networking",
            "addonVersions": [
                {
                    "addonVersion": "v1.12.0-eksbuild.1",
                    "architecture": [
                        "amd64",
                        "arm64"
                    ],
                    "compatibilities": [
                        {
                            "clusterVersion": "1.24",
                            "platformVersions": [
                                "*"
                            ],
                            "defaultVersion": false
                        },
...

上記の出力では、アドオン (この場合は VPC CNI) のバージョンが、対応するアーキテクチャとクラスターバージョンとの互換性と共に一覧表示されています。この情報をもとに、ユースケースに最も適したバージョンを選択します。アドオンのバージョンを選択したら、新しい CLI コマンドである describe-addon-configuration を使用して、構成可能な設定項目を確認できます。

aws eks describe-addon-configuration --addon-name vpc-cni --addon-version v1.12.0-eksbuild.1
{
        "addonName": "vpc-cni",
        "addonVersion": "v1.12.0-eksbuild.1",
        "configurationSchema": "{\"$ref\":\"#/definitions/VpcCni\",\"$schema\":\"http://json-schema.org/draft-06/schema#\",\"definitions\":{\"Cri\":{\"additionalProperties\":false,\"properties\":{\"hostPath\":{\"$ref\":\"#/definitions/HostPath\"}},\"title\":\"Cri\",\"type\":\"object\"},\"Env\":{\"additionalProperties\":false,\"properties\":{\"ADDITIONAL_ENI_TAGS\":{\"type\":\"string\"},\"AWS_VPC_CNI_NODE_PORT_SUPPORT\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_ENI_MTU\":{\"format\":\"integer\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_CONFIGURE_RPFILTER\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_CUSTOM_NETWORK_CFG\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_EXTERNALSNAT\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_LOGLEVEL\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_LOG_FILE\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_RANDOMIZESNAT\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_VETHPREFIX\":{\"type\":\"string\"},\"AWS_VPC_K8S_PLUGIN_LOG_FILE\":{\"type\":\"string\"},\"AWS_VPC_K8S_PLUGIN_LOG_LEVEL\":{\"type\":\"string\"},\"DISABLE_INTROSPECTION\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_METRICS\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_NETWORK_RESOURCE_PROVISIONING\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_POD_ENI\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_PREFIX_DELEGATION\":{\"format\":\"boolean\",\"type\":\"string\"},\"WARM_ENI_TARGET\":{\"format\":\"integer\",\"type\":\"string\"},\"WARM_PREFIX_TARGET\":{\"format\":\"integer\",\"type\":\"string\"}},\"title\":\"Env\",\"type\":\"object\"},\"HostPath\":{\"additionalProperties\":false,\"properties\":{\"path\":{\"type\":\"string\"}},\"title\":\"HostPath\",\"type\":\"object\"},\"Limits\":{\"additionalProperties\":false,\"properties\":{\"cpu\":{\"type\":\"string\"},\"memory\":{\"type\":\"string\"}},\"title\":\"Limits\",\"type\":\"object\"},\"Resources\":{\"additionalProperties\":false,\"properties\":{\"limits\":{\"$ref\":\"#/definitions/Limits\"},\"requests\":{\"$ref\":\"#/definitions/Limits\"}},\"title\":\"Resources\",\"type\":\"object\"},\"VpcCni\":{\"additionalProperties\":false,\"properties\":{\"cri\":{\"$ref\":\"#/definitions/Cri\"},\"env\":{\"$ref\":\"#/definitions/Env\"},\"resources\":{\"$ref\":\"#/definitions/Resources\"}},\"title\":\"VpcCni\",\"type\":\"object\"}}}"
    }

上記の出力では、configurationSchema 要素に、選択したバージョンの VPC CNI アドオンで設定可能な要素が含まれています。

注: 出力される configurationSchema は標準の JSON Schema です。各アドオンとアドオンのバージョンの組み合わせごとに独自の configurationSchema を持ちます。JSON Schema は、個々のフィールドに説明などのメタデータを追加し、スキーマが設定オプションのドキュメントとして機能するようにします。JSON Schema は既存の確立された標準であるため、お客様がこれらのスキーマをよりユーザーや開発者に優しい方法で表示するために使用できるさまざまなサードパーティツールもあります。そのようなツールの 1 つは、Atlassian の JSON Schema Viewer です。

configurationSchema フィールドの設定可能な項目には、環境変数と Kubernetes の設定が含まれています。これは、Amazon EKS がクラスターへのアドオンソフトウェアのインストール、更新、アンインストールに使用する、Helm チャートがベースになっています。出力を確認すると、以下の出力に見られるように、スキーマ要素の中に ENABLE_PREFIX_DELEGATION 環境変数があることがわかります。

{
        "$ref": "#/definitions/VpcCni",
        "$schema": "http://json-schema.org/draft-06/schema#",
        "definitions": {
            "Env": {
                "additionalProperties": false,
                "properties": {
    ...
                    "ENABLE_PREFIX_DELEGATION": {
                        "format": "boolean",
                        "type": "string"
                    },
    ...

ENABLE_PREFIX_DELEGATION 環境変数は、ブール値 (true/false) としてフォーマットされた文字列値をとります。以下の例に示すように、この変数のデフォルトは false です。

kubectl -n kube-system get ds aws-node -oyaml | grep ENABLE_PREFIX_DELEGATION -A1
- name: ENABLE_PREFIX_DELEGATION
  value: "false"

describe-addon-configuration コマンドの出力をより見やすく表示するために、以下の CLI コマンドに示すように、CLI コマンドの出力 (--output) を text に設定できます。これにより、読みやすく、コピーしやすい、エスケープされていない JSON が出力されます。クエリ (--query) パラメータを追加することで、クライアントサイドのフィルタリングを行い、この場合、configurationSchema フィールドのみを返すよう出力を制限しています。

aws eks describe-addon-configuration --addon-name vpc-cni \
  --addon-version v1.12.0-eksbuild.1 \
  --query configurationSchema --output text

この情報と新しい configurationValues パラメータで、以下の create-addon CLI コマンドを組み立て、高度な設定をカスタム JSON として含めることができます。

注: CLI コマンドの configuration-values パラメータは、Amazon EKS アドオン API の configurationValues パラメータに対応しています。

aws eks create-addon --cluster-name <CLUSTER_NAME> \
  --addon-name vpc-cni --addon-version v1.12.0-eksbuild.1 \
  --configuration-values '{"env":{"ENABLE_PREFIX_DELEGATION":"true"}}' \
  --resolve-conflicts OVERWRITE
{
    "addon": {
        "addonName": "vpc-cni",
        "clusterName": "<CLUSTER_NAME>",
        "status": "CREATING",
        "addonVersion": "v1.12.0-eksbuild.1",
        "health": {
            "issues": []
        },
...
        "configurationValues": "{\"env\":{\"ENABLE_PREFIX_DELEGATION\":\"true\"}}"
    }
}

上記の出力は、アドオンが CREATING ステータスにあることを示しています。describe-addon CLI コマンドを使用してステータスを確認し、追加された高度な設定が ACTIVE なアドオンに含まれていることを確認できます。

aws eks describe-addon --cluster-name <CLUSTER_NAME> --addon-name vpc-cni
{
        "addon": {
            "addonName": "vpc-cni",
            "clusterName": "<CLUSTER_NAME>",
            "status": "ACTIVE",
            "addonVersion": "v1.12.0-eksbuild.1",
            "health": {
                "issues": []
            },
    ...
            "configurationValues": "{\"env\":{\"ENABLE_PREFIX_DELEGATION\":\"true\"}}"
        }
    }

また、以下の kubectl コマンドにより、対象のクラスター内の aws-node DaemonSet に指定した高度な設定が反映されていることを確認できます。

kubectl -n kube-system get ds aws-node -oyaml | grep ENABLE_PREFIX_DELEGATION -A1
        - name: ENABLE_PREFIX_DELEGATION
          value: "true"

JSON 入力ファイル

次の例に示すように、CLI コマンドの configuration-values パラメータは、リテラル JSON テキストの代わりにファイルパスを受け付けることもできます。

# CLI command input as file (snippet)
...
--configuration-values 'file://example.json'
...
# JSON input file
{
    "env": {
        "ENABLE_PREFIX_DELEGATION": "true"
    }
}
# CLI command output (snippet)
...
"configurationValues": "{\n    \"env\": {\n        \"ENABLE_PREFIX_DELEGATION\": \"true\"\n    }\n}"
...

configuration-values パラメータの引数として入力ファイルを使用すると、CLI 入力のために JSON をエスケープしてフラット化した文字列にフォーマットする必要がなくなります。また、入力ファイルを使用することで、入力値とコマンドを分離でき、DevOps エクスペリエンスが向上します。

アドオン更新のワークフロー例

Amazon EKS アドオン API の新しい機能強化により、お客様は既に作成された (すなわち ACTIVE な) クラスターアドオンを更新し、それぞれの高度な構成設定を指定できます。既存のクラスターに CoreDNS アドオンをインストールしたシナリオを考えてみましょう。corefile を修正して、キャッシュ間隔を 29 に変更し、サーバーエントリを追加したいと考えています。

以下の kubectl コマンドで、CoreDNS が現在使用している corefile を確認できます。

kubectl -n kube-system get cm coredns -oyaml
apiVersion: v1
data:
  Corefile: |
    .:53 {
...
        cache 30
...
    }
kind: ConfigMap
...

アドオンを更新して CoreDNS corefile を変更するには、以下の update-addon コマンドを使用して、corefile の内容を JSON 入力ファイルを介して CLI コマンドの configuration-values パラメータに渡します。

(訳注: example.json は以下を使用します。)

{
    "corefile": ".:53 {\n    errors\n    health\n    kubernetes cluster.local in-addr.arpa ip6.arpa {\n      pods insecure\n      fallthrough in-addr.arpa ip6.arpa\n    }\n    prometheus :9153\n    forward . /etc/resolv.conf\n    cache 29\n    loop\n    reload\n    loadbalance\n}\nexample.org {\n    whoami\n}"
}
# Update coredns add-on corefile contents
aws eks update-addon --cluster-name <CLUSTER_NAME> \
  --addon-name coredns --addon-version v1.8.4-eksbuild.2 \
  --configuration-values 'file://example.json' \
  --resolve-conflicts OVERWRITE
aws eks describe-addon --cluster-name <CLUSTER_NAME> --addon-name coredns
{
    "addon": {
        "addonName": "coredns",
        "clusterName": "<CLUSTER_NAME>",
        "status": "ACTIVE",
        "addonVersion": "v1.8.4-eksbuild.2",
        "health": {
            "issues": []
        },
...
        "configurationValues": "{\n    \"corefile\": \".:53 {\\n    errors\\n    health\\n    kubernetes cluster.local in-addr.arpa ip6.arpa {\\n      pods insecure\\n      fallthrough in-addr.arpa ip6.arpa\\n    }\\n    prometheus :9153\\n    forward . /etc/resolv.conf\\n    cache 29\\n    loop\\n    reload\\n    loadbalance\\n}\\nexample.org {\\n    whoami\\n}\"\n}"
    }
}
# Verify coredns corefile contents
kubectl -n kube-system get cm coredns -oyaml
apiVersion: v1
data:
  Corefile: |
    .:53 {
...
        cache 29
...
    }
    example.org {
        whoami
    }
kind: ConfigMap
...

前述のコマンドは、CoreDNS corefile を更新し、キャッシュ間隔を 29 に変更し、example.org へのクエリを whoami プラグインで処理するサーバーエントリを追加しました。

次に、以下の CLI コマンドを使用して、coredns Deployment リソースのレプリカ数を更新します。

(訳注: example.json は以下を使用します。)

{
    "replicaCount":3
}
# Update coredns add-on replica count
aws eks update-addon --cluster-name <CLUSTER_NAME> \
  --addon-name coredns --addon-version v1.8.4-eksbuild.2 \
  --configuration-values 'file://example.json' \
  --resolve-conflicts OVERWRITE
{
    "update": {
...
            {
                "type": "ConfigurationValues",
                "value": "{\n    \"replicaCount\":3\n}"
            }
...
# Describe cordedns add-on
aws eks describe-addon --cluster-name <CLUSTER_NAME> --addon-name coredns
{
    "addon": {
        "addonName": "coredns",
        "clusterName": "<CLUSTER_NAME>",
        "status": "ACTIVE",
...
        "configurationValues": "{\n    \"replicaCount\":3\n}"
    }
}
# Get coredns pods, verify 3 replicas
kubectl -n kube-system get po -l k8s-app=kube-dns
NAME                       READY   STATUS    RESTARTS   AGE
coredns-687f68f788-5nmv7   1/1     Running   0          19m
coredns-687f68f788-q7mvt   1/1     Running   0          19m
coredns-687f68f788-vh8xv   1/1     Running   0          5m11s
# Review coredns corefile contents, reset to defaults
kubectl -n kube-system get cm coredns -oyaml
apiVersion: v1
data:
  Corefile: |
    .:53 {
...
        cache 30
...
    }
kind: ConfigMap

上記の例は、configurationValues パラメータで指定された高度な設定を使用してアドオンを更新する際の重要な側面を示しています。configurationValues パラメータを使用する場合、高度な設定はアドオン API の呼び出し間で保持されません。明示的に指定しない限り、デフォルトの設定に上書きされるという仕様です。configurationValues パラメータを使用し、設定を上書きされたくない場合は、各 UpdateAddon 操作の configurationValues パラメータに設定を含める必要があります。

CoreDNS の UpdateAddon の操作では、corefile の内容を update コマンドに追加しなかったため、corefile の内容がデフォルト設定にリセットされました。corefile の設定をレプリカ数の設定に含めるには、以下の例のように、同じ JSON ファイルにそれらの設定を一緒に追加します。

# Example JSON file with replicaCount and corefile elements
{
    "replicaCount":3,
    "corefile": ".:53 {\n    errors\n    health\n    kubernetes cluster.local in-addr.arpa ip6.arpa {\n      pods insecure\n      fallthrough in-addr.arpa ip6.arpa\n    }\n    prometheus :9153\n    forward . /etc/resolv.conf\n    cache 29\n    loop\n    reload\n    loadbalance\n}\nexample.org {\n    whoami\n}"
}

# configurationValues field from describe-addon results
        "configurationValues": "{\n    \"replicaCount\":3,\n    \"corefile\": \".:53 {\\n    errors\\n    health\\n    kubernetes cluster.local in-addr.arpa ip6.arpa {\\n      pods insecure\\n      fallthrough in-addr.arpa ip6.arpa\\n    }\\n    prometheus :9153\\n    forward . /etc/resolv.conf\\n    cache 29\\n    loop\\n    reload\\n    loadbalance\\n}\\nexample.org {\\n    whoami\\n}\"\n}"

また、--resolve-conflicts パラメータをいつ、どのように使用するかを理解することも重要です。アドオン構成内の設定を誤って上書きしないことが確実な場合にのみ、--resolve-conflicts OVERWRITE オプションを使用してください。上書きされる設定は、Amazon EKS アドオン API の外部で、Kubernetes API を介してアドオンコンポーネントの構成に追加された設定です。高度な設定として含める必要がある設定がわかっていて、確認した configurationSchema を介して設定が可能な場合は、CreateAddon または UpdateAddon API 操作の configurationValues パラメータにその設定を追加してください。

注: 以前の記事 Amazon EKS add-ons preserve customer edits (日本語訳: Amazon EKS アドオンでのお客様による変更内容の保持) では、Amazon EKS API の UpdateAddon 操作の --resolve-conflicts PRESERVE オプションを紹介しました。このオプションは、アドオンリソースに加えられた編集を保持し、UpdateAddon 操作中に上書きされないようにします。PRESERVE オプションは、Amazon EKS アドオン API を介して行われる高度な設定と一緒に使用できます。しかし、アドオン設定の編集は Amazon EKS アドオン API を介して行うことを強くお勧めします。

アドオンの更新と互換性

Amazon EKS アドオンは、より新しい (または古い) バージョンに更新できます。新しい高度な構成設定が指定されない場合、アドオン API は既存の構成設定を適用しようとします。既存の構成設定が、変更されたアドオンのバージョンと互換性がある場合、更新は成功し、これらの既存の設定は維持されます。

現在のアドオン設定がアドオンのターゲットバージョンと互換性がない場合、API によってエラーが返されます。例えば、既存の Amazon EKS クラスターと、Kubernetes Deployment リソースの仕様に {"replicas":4} という構成設定を持つ既存のアドオンがあるとします。アドオン API は既存の設定がアドオンのターゲットバージョンと互換性があるかどうかを確認します。アドオンのターゲットバージョンが Deployment の代わりに Kubernetes DaemonSet リソースを使用するようになった場合、replicas 設定は互換性がなくなります。以下のコマンドでアドオンを更新しようとしても失敗し、アドオン API からエラーが返されます。

aws eks update-addon --cluster-name <CLUSTER_NAME> \
  --addon-name <ADDON_NAME> --addon-version <ADDON_VERSION>
An error occurred (InvalidParameterException) when calling the UpdateAddon operation: Configuration option "replicas" is not valid

更新によるアドオンのデフォルト設定のリセット

Amazon EKS アドオンの高度な設定を削除し、デフォルト設定を使用したいユースケースでは、アドオン API の UpdateAddon 呼び出しを、空の JSON オブジェクト (空の中括弧) を使用して行います。たとえば、以下の AWS CLI コマンドを使用して、既存のアドオンを更新し、高度な設定を削除できます。これにより、アドオンの更新が実行され、すべての高度な設定がデフォルト値に戻されます。

aws eks udpate-addon --cluster-name <CLUSTER_NAME> \
  --addon-name <ADDON_NAME> --addon-version <ADDON_VERSION> \
  --configuration-values '{}' \
  --resolve-conflicts OVERWRITE

まとめ

この記事では、新しくリリースされた Amazon EKS アドオンの高度な設定のサポートについて概要を説明しました。既存の DescribeAddonVersions API 呼び出しと、新しい DescribeAddonConfiguration API 呼び出しを使用して、アドオンとアドオンバージョンの組み合わせごとの configurationSchema を調べることにより、利用できる高度な設定を確認できます。この JSON Schema は、お客様が特定のアドオン設定をカスタマイズできるようにする、構成可能な設定を公開します。configuration-values パラメータは、configurationSchema 要素で確認できるスキーマに従った JSON を介して、高度な構成設定を指定するために使用できます。CreateAddon および UpdateAddon 呼び出しで configuration-values パラメータが指定された場合、高度な構成設定が上書きされます。configuration-values パラメータが指定されない場合、CreateAddon および UpdateAddon 呼び出しは、これらの設定を変更しません。OVERWRITE オプションを使用すると、CreateAddon または UpdateAddon 操作で値を上書きすることにより、潜在的な競合を解決できます。PRESERVE オプションを使用すると、ある操作から次の操作まで編集を保持できます。

すぐにやって欲しいこと

Amazon EKS アドオンを試してください!

Amazon EKS を運用していて、まだアドオンを試していないのなら、今がその時です。新しい高度な設定は、Amazon EKS のアドオンに、より堅牢な設定管理を追加します。クラスター内のアドオンを管理するために、使用されてている Helm チャートに基づいた追加の設定を確認できるようになりました。これにより、より詳細な設定、より柔軟なユーザーエクスペリエンスが提供され、新規および既存の DevOps 自動化により適合するようになります。

Containers Roadmap をチェックしてください!

Amazon EKS アドオンやその他のコンテナサービスの改善についてアイデアをお持ちの方は、Containers Roadmap を利用してフィードバックを提供し、既存のロードマップアイテムをレビューしてください。

翻訳はプロフェッショナルサービスの杉田が担当しました。原文はこちらです。