Amazon Elastic Kubernetes Service

2023/12/20 - Amazon Elastic Kubernetes Service - 2 new api methods

Changes  Add support for cluster insights, new EKS capability that surfaces potentially upgrade impacting issues.

ListInsights (new) Link ¶

Returns a list of all insights checked for against the specified cluster. You can filter which insights are returned by category, associated Kubernetes version, and status.

See also: AWS API Documentation

Request Syntax

client.list_insights(
    clusterName='string',
    filter={
        'categories': [
            'UPGRADE_READINESS',
        ],
        'kubernetesVersions': [
            'string',
        ],
        'statuses': [
            'PASSING'|'WARNING'|'ERROR'|'UNKNOWN',
        ]
    },
    maxResults=123,
    nextToken='string'
)
type clusterName

string

param clusterName

[REQUIRED]

The name of the Amazon EKS cluster associated with the insights.

type filter

dict

param filter

The criteria to filter your list of insights for your cluster. You can filter which insights are returned by category, associated Kubernetes version, and status.

  • categories (list) --

    The categories to use to filter insights.

    • (string) --

  • kubernetesVersions (list) --

    The Kubernetes versions to use to filter the insights.

    • (string) --

  • statuses (list) --

    The statuses to use to filter the insights.

    • (string) --

type maxResults

integer

param maxResults

The maximum number of identity provider configurations returned by ListInsights in paginated output. When you use this parameter, ListInsights returns only maxResults results in a single page along with a nextToken response element. You can see the remaining results of the initial request by sending another ListInsights request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter, ListInsights returns up to 100 results and a nextToken value, if applicable.

type nextToken

string

param nextToken

The nextToken value returned from a previous paginated ListInsights request. When the results of a ListInsights request exceed maxResults , you can use this value to retrieve the next page of results. This value is null when there are no more results to return.

rtype

dict

returns

Response Syntax

{
    'insights': [
        {
            'id': 'string',
            'name': 'string',
            'category': 'UPGRADE_READINESS',
            'kubernetesVersion': 'string',
            'lastRefreshTime': datetime(2015, 1, 1),
            'lastTransitionTime': datetime(2015, 1, 1),
            'description': 'string',
            'insightStatus': {
                'status': 'PASSING'|'WARNING'|'ERROR'|'UNKNOWN',
                'reason': 'string'
            }
        },
    ],
    'nextToken': 'string'
}

Response Structure

  • (dict) --

    • insights (list) --

      The returned list of insights.

      • (dict) --

        The summarized description of the insight.

        • id (string) --

          The ID of the insight.

        • name (string) --

          The name of the insight.

        • category (string) --

          The category of the insight.

        • kubernetesVersion (string) --

          The Kubernetes minor version associated with an insight if applicable.

        • lastRefreshTime (datetime) --

          The time Amazon EKS last successfully completed a refresh of this insight check on the cluster.

        • lastTransitionTime (datetime) --

          The time the status of the insight last changed.

        • description (string) --

          The description of the insight which includes alert criteria, remediation recommendation, and additional resources (contains Markdown).

        • insightStatus (dict) --

          An object containing more detail on the status of the insight.

          • status (string) --

            The status of the resource.

          • reason (string) --

            Explanation on the reasoning for the status of the resource.

    • nextToken (string) --

      The nextToken value to include in a future ListInsights request. When the results of a ListInsights request exceed maxResults , you can use this value to retrieve the next page of results. This value is null when there are no more results to return.

DescribeInsight (new) Link ¶

Returns details about an insight that you specify using its ID.

See also: AWS API Documentation

Request Syntax

client.describe_insight(
    clusterName='string',
    id='string'
)
type clusterName

string

param clusterName

[REQUIRED]

The name of the cluster to describe the insight for.

type id

string

param id

[REQUIRED]

The identity of the insight to describe.

rtype

dict

returns

Response Syntax

{
    'insight': {
        'id': 'string',
        'name': 'string',
        'category': 'UPGRADE_READINESS',
        'kubernetesVersion': 'string',
        'lastRefreshTime': datetime(2015, 1, 1),
        'lastTransitionTime': datetime(2015, 1, 1),
        'description': 'string',
        'insightStatus': {
            'status': 'PASSING'|'WARNING'|'ERROR'|'UNKNOWN',
            'reason': 'string'
        },
        'recommendation': 'string',
        'additionalInfo': {
            'string': 'string'
        },
        'resources': [
            {
                'insightStatus': {
                    'status': 'PASSING'|'WARNING'|'ERROR'|'UNKNOWN',
                    'reason': 'string'
                },
                'kubernetesResourceUri': 'string',
                'arn': 'string'
            },
        ],
        'categorySpecificSummary': {
            'deprecationDetails': [
                {
                    'usage': 'string',
                    'replacedWith': 'string',
                    'stopServingVersion': 'string',
                    'startServingReplacementVersion': 'string',
                    'clientStats': [
                        {
                            'userAgent': 'string',
                            'numberOfRequestsLast30Days': 123,
                            'lastRequestTime': datetime(2015, 1, 1)
                        },
                    ]
                },
            ]
        }
    }
}

Response Structure

  • (dict) --

    • insight (dict) --

      The full description of the insight.

      • id (string) --

        The ID of the insight.

      • name (string) --

        The name of the insight.

      • category (string) --

        The category of the insight.

      • kubernetesVersion (string) --

        The Kubernetes minor version associated with an insight if applicable.

      • lastRefreshTime (datetime) --

        The time Amazon EKS last successfully completed a refresh of this insight check on the cluster.

      • lastTransitionTime (datetime) --

        The time the status of the insight last changed.

      • description (string) --

        The description of the insight which includes alert criteria, remediation recommendation, and additional resources (contains Markdown).

      • insightStatus (dict) --

        An object containing more detail on the status of the insight resource.

        • status (string) --

          The status of the resource.

        • reason (string) --

          Explanation on the reasoning for the status of the resource.

      • recommendation (string) --

        A summary of how to remediate the finding of this insight if applicable.

      • additionalInfo (dict) --

        Links to sources that provide additional context on the insight.

        • (string) --

          • (string) --

      • resources (list) --

        The details about each resource listed in the insight check result.

        • (dict) --

          Returns information about the resource being evaluated.

          • insightStatus (dict) --

            An object containing more detail on the status of the insight resource.

            • status (string) --

              The status of the resource.

            • reason (string) --

              Explanation on the reasoning for the status of the resource.

          • kubernetesResourceUri (string) --

            The Kubernetes resource URI if applicable.

          • arn (string) --

            The Amazon Resource Name (ARN) if applicable.

      • categorySpecificSummary (dict) --

        Summary information that relates to the category of the insight. Currently only returned with certain insights having category UPGRADE_READINESS .

        • deprecationDetails (list) --

          The summary information about deprecated resource usage for an insight check in the UPGRADE_READINESS category.

          • (dict) --

            The summary information about deprecated resource usage for an insight check in the UPGRADE_READINESS category.

            • usage (string) --

              The deprecated version of the resource.

            • replacedWith (string) --

              The newer version of the resource to migrate to if applicable.

            • stopServingVersion (string) --

              The version of the software where the deprecated resource version will stop being served.

            • startServingReplacementVersion (string) --

              The version of the software where the newer resource version became available to migrate to if applicable.

            • clientStats (list) --

              Details about Kubernetes clients using the deprecated resources.

              • (dict) --

                Details about clients using the deprecated resources.

                • userAgent (string) --

                  The user agent of the Kubernetes client using the deprecated resource.

                • numberOfRequestsLast30Days (integer) --

                  The number of requests from the Kubernetes client seen over the last 30 days.

                • lastRequestTime (datetime) --

                  The timestamp of the last request seen from the Kubernetes client.