Amazon EKSã使ãéããä¸è©±ã«ãªãã®ãEKSã¢ããªã³ã¨ããä»çµã¿ã§ããä»åã¯ãã®EKSã¢ããªã³ã®è¨å®ãããéã®ãã©ã¡ã¼ã¿ãã©ã®ããã«æ¸ãã°ããã®ãã¨ãããã¨ã«ã¤ãã¦è¨é²ãã¾ãã
ä»äºãé²ãã¦ããéããã®EKS ã¢ããªã³ã®è¨å®ãæ¸ãã¦ããã¨ãã«è²ã
è©°ã¾ã£ãã®ã§åå¿é²ä»£ããã®ã¡ã¢ã§ãã
ãªãããã®è¨äºã§æ¸ãã¦ãããã¨ã¯AWSå
¬å¼ã®ä»¥ä¸ã®è¨äºãèªã¿éãã°åããå
容ãªã®ã§ãæ·±ãå
容ãç¥ããã人ã¯ãã®è¨äºã丹念ã«èªãã¨ããã¨æãã¾ãã
aws.amazon.com
DescribeAddonConfiguration APIãå¼ã³åºãã¨ãã
ãã£ããçãã§ãããAmazon EKSã«ç¨æããã¦ããæ°ããã®APIãDescribeAddonConfiguration APIãå¼ã³åºãã°configurationValues
ãã©ã¡ã¼ã¿ã«å
¥ããã¹ãè¨å®ã®ã¹ãã¼ããJSONã¹ãã¼ãã®å½¢ã§ç¥ããã¨ãã§ãã¾ãã
docs.aws.amazon.com
ãã¡ãããAPIã ãã§ãªããAWSCLIã«ãåAPIãå¼ã³åºããeks describe-addon-configuration
ã³ãã³ããç¨æããã¦ãã¾ããåèªã§ä½¿ããããæ¹ã使ãã¨ããã§ãããã
awscli.amazonaws.com
ã©ã¡ãããã¢ããªã³ã®ååã¨ãã¼ã¸ã§ã³ãæå®ãã¦å¼ã³åºãå¿
è¦ãããã¾ãã
ä¾ãã°ãè¨äºå·çæç¹ã§ææ°ãã¼ã¸ã§ã³ã§ããAmazon VPC CNIãã©ã°ã¤ã³ã®ãã¼ã¸ã§ã³v1.16.2-eksbuild.1
ã®è¨å®ã®ã¹ãã¼ããç¥ãããã¨ãã¯ãããªæãã§AWSCLIãå®è¡ããjqã§ãã¼ã¹ããã°ãæã¿ã®è¨å®ã®ã¹ãã¼ããå¾ããã¾ãã
aws eks describe-addon-configuration \
--addon-name vpc-cni \
--addon-version v1.16.2-eksbuild.1 | \
jq -r '.configurationSchema' | \
jq -r '.'
è¿ã£ã¦ããå¤ã¯ä»¥ä¸ã®æ§ãªæãã§ãã
{
"$ref": "#/definitions/VpcCni",
"$schema": "http://json-schema.org/draft-06/schema#",
"definitions": {
"Affinity": {
"type": [
"object",
"null"
]
},
"EniConfig": {
"additionalProperties": false,
"properties": {
"create": {
"type": "boolean"
},
"region": {
"type": "string"
},
"subnets": {
"additionalProperties": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"securityGroups": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"minProperties": 1,
"type": "object"
}
},
"required": [
"create",
"region",
"subnets"
],
"type": "object"
},
"Env": {
"additionalProperties": false,
"properties": {
"ADDITIONAL_ENI_TAGS": {
"type": "string"
},
"ANNOTATE_POD_IP": {
"format": "boolean",
"type": "string"
},
"AWS_EC2_ENDPOINT": {
"type": "string"
},
"AWS_EXTERNAL_SERVICE_CIDRS": {
"type": "string"
},
"AWS_MANAGE_ENIS_NON_SCHEDULABLE": {
"format": "boolean",
"type": "string"
},
"AWS_VPC_CNI_NODE_PORT_SUPPORT": {
"format": "boolean",
"type": "string"
},
"AWS_VPC_ENI_MTU": {
"format": "integer",
"type": "string"
},
"AWS_VPC_K8S_CNI_CUSTOM_NETWORK_CFG": {
"format": "boolean",
"type": "string"
},
"AWS_VPC_K8S_CNI_EXCLUDE_SNAT_CIDRS": {
"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"
},
"CLUSTER_ENDPOINT": {
"type": "string"
},
"DISABLE_INTROSPECTION": {
"format": "boolean",
"type": "string"
},
"DISABLE_LEAKED_ENI_CLEANUP": {
"format": "boolean",
"type": "string"
},
"DISABLE_METRICS": {
"format": "boolean",
"type": "string"
},
"DISABLE_NETWORK_RESOURCE_PROVISIONING": {
"format": "boolean",
"type": "string"
},
"DISABLE_POD_V6": {
"format": "boolean",
"type": "string"
},
"ENABLE_BANDWIDTH_PLUGIN": {
"format": "boolean",
"type": "string"
},
"ENABLE_POD_ENI": {
"format": "boolean",
"type": "string"
},
"ENABLE_PREFIX_DELEGATION": {
"format": "boolean",
"type": "string"
},
"ENABLE_V4_EGRESS": {
"format": "boolean",
"type": "string"
},
"ENABLE_V6_EGRESS": {
"format": "boolean",
"type": "string"
},
"ENI_CONFIG_ANNOTATION_DEF": {
"type": "string"
},
"ENI_CONFIG_LABEL_DEF": {
"type": "string"
},
"INTROSPECTION_BIND_ADDRESS": {
"type": "string"
},
"IP_COOLDOWN_PERIOD": {
"format": "integer",
"type": "string"
},
"MAX_ENI": {
"format": "integer",
"type": "string"
},
"MINIMUM_IP_TARGET": {
"format": "integer",
"type": "string"
},
"POD_SECURITY_GROUP_ENFORCING_MODE": {
"type": "string"
},
"WARM_ENI_TARGET": {
"format": "integer",
"type": "string"
},
"WARM_IP_TARGET": {
"format": "integer",
"type": "string"
},
"WARM_PREFIX_TARGET": {
"format": "integer",
"type": "string"
}
},
"title": "Env",
"type": "object"
},
"Init": {
"additionalProperties": false,
"properties": {
"env": {
"$ref": "#/definitions/InitEnv"
},
"resources": {
"$ref": "#/definitions/Resources"
}
},
"title": "Init",
"type": "object"
},
"InitEnv": {
"additionalProperties": false,
"properties": {
"DISABLE_TCP_EARLY_DEMUX": {
"format": "boolean",
"type": "string"
},
"ENABLE_V6_EGRESS": {
"format": "boolean",
"type": "string"
}
},
"title": "InitEnv",
"type": "object"
},
"Limits": {
"additionalProperties": false,
"properties": {
"cpu": {
"type": "string"
},
"memory": {
"type": "string"
}
},
"title": "Limits",
"type": "object"
},
"NodeAgent": {
"additionalProperties": false,
"properties": {
"conntrackCacheCleanupPeriod": {
"format": "integer",
"type": "integer"
},
"enableCloudWatchLogs": {
"format": "boolean",
"type": "string"
},
"enablePolicyEventLogs": {
"format": "boolean",
"type": "string"
},
"enabled": {
"type": "boolean"
},
"healthProbeBindAddr": {
"format": "integer",
"type": "string"
},
"metricsBindAddr": {
"format": "integer",
"type": "string"
},
"resources": {
"$ref": "#/definitions/Resources"
}
},
"title": "NodeAgent",
"type": "object"
},
"Resources": {
"additionalProperties": false,
"properties": {
"limits": {
"$ref": "#/definitions/Limits"
},
"requests": {
"$ref": "#/definitions/Limits"
}
},
"title": "Resources",
"type": "object"
},
"Tolerations": {
"additionalProperties": false,
"items": {
"type": "object"
},
"type": "array"
},
"VpcCni": {
"additionalProperties": false,
"properties": {
"affinity": {
"$ref": "#/definitions/Affinity"
},
"branchENICooldown": {
"type": "integer"
},
"enableNetworkPolicy": {
"format": "boolean",
"type": "string"
},
"enableWindowsIpam": {
"format": "boolean",
"type": "string"
},
"enableWindowsPrefixDelegation": {
"format": "boolean",
"type": "string"
},
"eniConfig": {
"$ref": "#/definitions/EniConfig"
},
"env": {
"$ref": "#/definitions/Env"
},
"init": {
"$ref": "#/definitions/Init"
},
"livenessProbeTimeoutSeconds": {
"type": "integer"
},
"minimumWindowsIPTarget": {
"type": "integer"
},
"nodeAgent": {
"$ref": "#/definitions/NodeAgent"
},
"podAnnotations": {
"additionalProperties": {
"not": {
"type": [
"object",
"array",
"null"
]
}
},
"type": [
"object",
"null"
]
},
"podLabels": {
"additionalProperties": {
"not": {
"type": [
"object",
"array",
"null"
]
}
},
"type": [
"object",
"null"
]
},
"readinessProbeTimeoutSeconds": {
"type": "integer"
},
"resources": {
"$ref": "#/definitions/Resources"
},
"tolerations": {
"$ref": "#/definitions/Tolerations"
},
"warmWindowsIPTarget": {
"type": "integer"
},
"warmWindowsPrefixTarget": {
"type": "integer"
}
},
"title": "VpcCni",
"type": "object"
}
},
"description": "vpc-cni"
}
JSONã¹ãã¼ãã«æ
£ãã¦ãªãç§ããããã¨å¤§åèªã¿ã«ããã®ã§ãããããã§configurationValuesã«æ¸ãã¹ãå¤ãã©ããªãã®ãã調ã¹ãªããæ¸ããããã«ãªãã¾ããã
ãã®ENIConfig絡ã¿ã®è¨å®ã§ã¾ãè²ã
ã¨è©°ã¾ã£ãã®ã§ãããããã¯ã¾ãå¥è¨äºã«ãã¦æ¸ããã¨æãã¾ãã