{"id":48605,"date":"2025-02-26T01:37:45","date_gmt":"2025-02-26T01:37:45","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=48605"},"modified":"2025-02-26T01:37:45","modified_gmt":"2025-02-26T01:37:45","slug":"what-is-eks-platform-version","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/what-is-eks-platform-version\/","title":{"rendered":"What is EKS Platform version?"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\"><strong>1. What is EKS Platform Version?<\/strong><\/h3>\n\n\n\n<p>The <strong>EKS Platform Version<\/strong> represents the <strong>capabilities of the EKS control plane<\/strong>, such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Kubernetes API server <strong>feature flags and configurations<\/strong>.<\/li>\n\n\n\n<li>Security patches and <strong>bug fixes<\/strong> provided by AWS.<\/li>\n\n\n\n<li>AWS-specific enhancements like <strong>IAM roles for service accounts (IRSA), KMS encryption, Fargate improvements, etc.<\/strong>.<\/li>\n\n\n\n<li>Performance optimizations for the <strong>EKS control plane<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p>Each <strong>Kubernetes minor version (e.g., 1.27, 1.28)<\/strong> has its <strong>own set of EKS platform versions<\/strong> (<code>eks.1<\/code>, <code>eks.2<\/code>, etc.).<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. How is EKS Platform Version Different from Kubernetes Version?<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>Aspect<\/strong><\/th><th><strong>EKS Platform Version<\/strong><\/th><th><strong>Kubernetes Version<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>Definition<\/strong><\/td><td>AWS\u2019s versioning for EKS control plane enhancements and patches<\/td><td>Kubernetes upstream version supported by AWS<\/td><\/tr><tr><td><strong>Purpose<\/strong><\/td><td>Controls AWS-managed <strong>EKS features, security patches, and performance improvements<\/strong><\/td><td>Determines the <strong>Kubernetes API version<\/strong>, features, and workload compatibility<\/td><\/tr><tr><td><strong>Scope<\/strong><\/td><td>Only impacts the <strong>EKS control plane<\/strong><\/td><td>Impacts <strong>both control plane and worker nodes<\/strong><\/td><\/tr><tr><td><strong>Updates<\/strong><\/td><td>AWS releases new platform versions <strong>without changing Kubernetes versions<\/strong><\/td><td>Must be explicitly upgraded by the user<\/td><\/tr><tr><td><strong>Example<\/strong><\/td><td><code>eks.1<\/code>, <code>eks.2<\/code>, <code>eks.3<\/code> (for Kubernetes 1.27)<\/td><td>Kubernetes <code>1.26<\/code>, <code>1.27<\/code>, <code>1.28<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u2705 <strong>Key takeaway<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Kubernetes Version = Upstream Kubernetes API version<\/strong> (affects workloads &amp; node compatibility).<\/li>\n\n\n\n<li><strong>EKS Platform Version = AWS\u2019s optimizations for Kubernetes control plane<\/strong> (does not affect workload compatibility).<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. Can You Choose the EKS Platform Version When Deploying a Cluster?<\/strong><\/h3>\n\n\n\n<p>\u274c <strong>No, you CANNOT manually choose the EKS Platform Version.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>When you create an <strong>EKS cluster<\/strong>, AWS automatically assigns the <strong>latest platform version<\/strong> for that Kubernetes version.<\/li>\n\n\n\n<li>However, <strong>you can check the assigned platform version<\/strong> after deployment: <code>aws eks describe-cluster --name my-cluster --query \"cluster.platformVersion\" --output text<\/code><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. List of Available EKS Platform Versions<\/strong><\/h3>\n\n\n\n<p>AWS does <strong>not provide a direct CLI command<\/strong> to list all platform versions. However, you can check <strong>available platform versions for each Kubernetes version<\/strong> in the official AWS documentation:<\/p>\n\n\n\n<p>\ud83d\udccc <strong><a href=\"https:\/\/docs.aws.amazon.com\/eks\/latest\/userguide\/platform-versions.html\" target=\"_blank\" rel=\"noopener\">Amazon EKS Platform Versions<\/a><\/strong><\/p>\n\n\n\n<p>Each <strong>Kubernetes minor version<\/strong> has its <strong>own platform versions<\/strong> (<code>eks.1<\/code>, <code>eks.2<\/code>, etc.), and <strong>platform versions are not shared across Kubernetes versions<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Comparison of EKS Platform Versions<\/strong><\/h3>\n\n\n\n<p>Each <strong>EKS Platform Version<\/strong> brings different enhancements. Here&#8217;s a <strong>comparison for Kubernetes 1.27<\/strong> as an example:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>EKS Platform Version<\/strong><\/th><th><strong>Features &amp; Enhancements<\/strong><\/th><\/tr><\/thead><tbody><tr><td><code>eks.1<\/code><\/td><td>Initial release of Kubernetes 1.27 in EKS<\/td><\/tr><tr><td><code>eks.2<\/code><\/td><td>Security patches for the control plane<\/td><\/tr><tr><td><code>eks.3<\/code><\/td><td>IAM Role for Service Accounts (IRSA) improvements<\/td><\/tr><tr><td><code>eks.4<\/code><\/td><td>Enhanced Fargate compatibility &amp; logging improvements<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>To get a <strong>detailed list of changes per platform version<\/strong>, visit:<br>\ud83d\udccc <strong><a href=\"https:\/\/docs.aws.amazon.com\/eks\/latest\/userguide\/platform-versions.html\" target=\"_blank\" rel=\"noopener\">Amazon EKS Platform Versions<\/a><\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>6. How to Check Your EKS Platform Version<\/strong><\/h3>\n\n\n\n<p>Run the following AWS CLI command:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">aws eks describe-cluster --name my-cluster --query <span class=\"hljs-string\">\"cluster.platformVersion\"<\/span> --output text\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>\u2705 Example output:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">eks<\/span><span class=\"hljs-selector-class\">.3<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>7. How to Upgrade the EKS Platform Version?<\/strong><\/h3>\n\n\n\n<p>AWS <strong>automatically upgrades platform versions<\/strong> when upgrading <strong>EKS Kubernetes versions<\/strong>.<\/p>\n\n\n\n<p>To upgrade:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">aws<\/span> <span class=\"hljs-selector-tag\">eks<\/span> <span class=\"hljs-selector-tag\">update-cluster-version<\/span> <span class=\"hljs-selector-tag\">--name<\/span> <span class=\"hljs-selector-tag\">my-cluster<\/span> <span class=\"hljs-selector-tag\">--kubernetes-version<\/span> 1<span class=\"hljs-selector-class\">.28<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>\u26a0\ufe0f <strong>Note<\/strong>: AWS does <strong>not<\/strong> support manually upgrading platform versions within the same Kubernetes version.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>8. Summary<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>Question<\/strong><\/th><th><strong>Answer<\/strong><\/th><\/tr><\/thead><tbody><tr><td><strong>What is EKS Platform Version?<\/strong><\/td><td>AWS\u2019s versioning for <strong>EKS control plane capabilities, security patches, and optimizations<\/strong>.<\/td><\/tr><tr><td><strong>How is it different from Kubernetes Version?<\/strong><\/td><td><strong>Kubernetes Version<\/strong> affects <strong>workloads and API compatibility<\/strong>, while <strong>EKS Platform Version<\/strong> affects <strong>AWS-managed control plane settings<\/strong>.<\/td><\/tr><tr><td><strong>Can you choose a specific platform version?<\/strong><\/td><td>\u274c No, AWS assigns the latest platform version automatically.<\/td><\/tr><tr><td><strong>Where to find available platform versions?<\/strong><\/td><td>\ud83d\udccc <strong><a href=\"https:\/\/docs.aws.amazon.com\/eks\/latest\/userguide\/platform-versions.html\" target=\"_blank\" rel=\"noopener\">AWS EKS Documentation<\/a><\/strong><\/td><\/tr><tr><td><strong>How to check your platform version?<\/strong><\/td><td>Run <code>aws eks describe-cluster --name my-cluster --query \"cluster.platformVersion\"<\/code><\/td><\/tr><tr><td><strong>How to upgrade platform versions?<\/strong><\/td><td>Upgrade the <strong>EKS Kubernetes version<\/strong>, AWS automatically applies the latest platform version.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>What is Bundled in an EKS Platform Version?<\/strong><\/h3>\n\n\n\n<p>Each <strong>EKS Platform Version<\/strong> is a <strong>bundle of AWS-managed control plane enhancements<\/strong>, including:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Kubernetes Control Plane Configuration<\/strong><\/li>\n\n\n\n<li><strong>Security Patches &amp; Fixes<\/strong><\/li>\n\n\n\n<li><strong>AWS-Specific Feature Enhancements<\/strong><\/li>\n\n\n\n<li><strong>Performance &amp; Stability Improvements<\/strong><\/li>\n\n\n\n<li><strong>Networking &amp; IAM Updates<\/strong><\/li>\n\n\n\n<li><strong>Bug Fixes &amp; Deprecations<\/strong><\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1\ufe0f\u20e3 Kubernetes Control Plane Configuration<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Determines <strong>which Kubernetes API server flags are enabled<\/strong>.<\/li>\n\n\n\n<li>Introduces <strong>new features<\/strong> supported by AWS for that Kubernetes version.<\/li>\n\n\n\n<li>Enables <strong>default settings for control plane components<\/strong> (e.g., API server, controller manager, etc.).<\/li>\n<\/ul>\n\n\n\n<p><strong>Example:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>eks.1<\/code> might enable an experimental feature like <code>alpha.kubernetes.io\/instance-type<\/code> but disable it in <code>eks.2<\/code> if found unstable.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2\ufe0f\u20e3 Security Patches &amp; Fixes<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>AWS applies <strong>critical security patches<\/strong> for Kubernetes vulnerabilities.<\/li>\n\n\n\n<li>Addresses <strong>CVE (Common Vulnerabilities and Exposures)<\/strong> affecting the control plane.<\/li>\n\n\n\n<li>Ensures <strong>IAM Role for Service Accounts (IRSA)<\/strong> and <strong>OIDC provider<\/strong> security updates.<\/li>\n<\/ul>\n\n\n\n<p><strong>Example:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A Kubernetes <strong>API server vulnerability<\/strong> might be patched in <strong>EKS 1.27 eks.3<\/strong>, but not in <strong>eks.1<\/strong>.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3\ufe0f\u20e3 AWS-Specific Feature Enhancements<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>New <strong>AWS service integrations<\/strong> such as:\n<ul class=\"wp-block-list\">\n<li><strong>AWS Fargate improvements<\/strong> for serverless Kubernetes.<\/li>\n\n\n\n<li><strong>Enhanced Amazon VPC CNI (Container Networking Interface)<\/strong>.<\/li>\n\n\n\n<li><strong>KMS Encryption<\/strong> improvements for Kubernetes secrets.<\/li>\n\n\n\n<li><strong>Better IAM Role for Service Accounts (IRSA)<\/strong> handling.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Enables <strong>default add-ons<\/strong> like <code>kube-proxy<\/code>, <code>CoreDNS<\/code>, and <code>Amazon VPC CNI<\/code>.<\/li>\n<\/ul>\n\n\n\n<p><strong>Example:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>eks.3<\/code> might introduce <strong>multi-architecture support for ARM64 nodes<\/strong>, improving cost optimization for workloads.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4\ufe0f\u20e3 Performance &amp; Stability Improvements<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Enhancements in <strong>API Server request handling<\/strong> and <strong>controller performance<\/strong>.<\/li>\n\n\n\n<li>Improvements in <strong>control plane auto-scaling &amp; resource utilization<\/strong>.<\/li>\n\n\n\n<li>Reduces latency in <strong>Kubernetes API calls<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p><strong>Example:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>eks.2<\/code> might introduce <strong>faster node registration<\/strong> compared to <code>eks.1<\/code>.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5\ufe0f\u20e3 Networking &amp; IAM Updates<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Improves <strong>VPC CNI plugin for better networking performance<\/strong>.<\/li>\n\n\n\n<li>Updates <strong>IAM permissions for managed node groups<\/strong>.<\/li>\n\n\n\n<li>Enhances <strong>load balancer and ALB integration<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p><strong>Example:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>eks.4<\/code> might optimize <strong>VPC networking for IPv6 support<\/strong>.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>6\ufe0f\u20e3 Bug Fixes &amp; Deprecations<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Fixes bugs in previous EKS platform versions<\/strong>.<\/li>\n\n\n\n<li><strong>Deprecates unsupported Kubernetes APIs<\/strong>.<\/li>\n\n\n\n<li>Ensures <strong>backward compatibility<\/strong> with older platform versions.<\/li>\n<\/ul>\n\n\n\n<p><strong>Example:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>eks.5<\/code> might remove an old <strong>PodSecurityPolicy (PSP) API<\/strong> deprecated in Kubernetes 1.25.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Key Takeaways<\/strong><\/h2>\n\n\n\n<p>\u2714 <strong>EKS Platform Version bundles AWS-specific enhancements<\/strong> for security, networking, and performance.<br>\u2714 <strong>Newer platform versions contain fixes, security patches, and feature upgrades<\/strong> for your control plane.<br>\u2714 <strong>You CANNOT manually select a platform version<\/strong>\u2014AWS assigns the latest one for your Kubernetes version.<br>\u2714 <strong>Upgrading the Kubernetes version automatically moves you to the latest platform version.<\/strong><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n","protected":false},"excerpt":{"rendered":"<p>1. What is EKS Platform Version? The EKS Platform Version represents the capabilities of the EKS control plane, such as: Each Kubernetes minor version (e.g., 1.27, 1.28) has its own&#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[2],"tags":[],"class_list":["post-48605","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/48605","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=48605"}],"version-history":[{"count":1,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/48605\/revisions"}],"predecessor-version":[{"id":48606,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/48605\/revisions\/48606"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=48605"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=48605"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=48605"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}