[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"detail-sidebar-cat-1-en-105":3,"doc-seo-200764-105":53,"doc-detail-200764-en":126},{"code":4,"msg":5,"data":6},0,"success",[7,14,19,24,29,34,39,44,49],{"id":8,"doc_module":9,"doc_module_name":10,"category_name":11,"show_sort_weight":12,"slug":13},11,1,"Template","Presentations",90,"presentations",{"id":15,"doc_module":9,"doc_module_name":10,"category_name":16,"show_sort_weight":17,"slug":18},12,"Resumes",80,"resumes",{"id":20,"doc_module":9,"doc_module_name":10,"category_name":21,"show_sort_weight":22,"slug":23},14,"Invoices",70,"invoices",{"id":25,"doc_module":9,"doc_module_name":10,"category_name":26,"show_sort_weight":27,"slug":28},15,"Posters",60,"posters",{"id":30,"doc_module":9,"doc_module_name":10,"category_name":31,"show_sort_weight":32,"slug":33},16,"Social Media",50,"social-media",{"id":35,"doc_module":9,"doc_module_name":10,"category_name":36,"show_sort_weight":37,"slug":38},17,"Forms",40,"forms",{"id":40,"doc_module":9,"doc_module_name":10,"category_name":41,"show_sort_weight":42,"slug":43},18,"Letters",30,"letters",{"id":45,"doc_module":9,"doc_module_name":10,"category_name":46,"show_sort_weight":47,"slug":48},21,"Paper Templates",5,"papers-templates",{"id":50,"doc_module":9,"doc_module_name":10,"category_name":51,"show_sort_weight":4,"slug":52},158,"General","general-158",{"code":4,"msg":54,"data":55},"ok",{"site_id":56,"language":57,"slug":58,"title":59,"keywords":60,"description":61,"schema_data":62,"social_meta":119,"head_meta":121,"extra_data":123,"updated_unix":125},105,"en","aws-controllers-for-kubernetes-a-kubernetes-experience-for-aws-managed-services","AWS Controllers for Kubernetes - A Kubernetes Experience for AWS Managed Services","","This slide deck introduces AWS Controllers for Kubernetes (ACK) as a way to manage AWS managed services using Kubernetes manifests and custom resources. It explains the core workflow: Kubernetes stores desired state, while an ACK service controller reconciles the lifecycle of AWS resources without CloudFormation. The deck covers how controllers are code-generated from AWS API models, how Kubernetes RBAC and IAM Roles for Service Accounts enable authorization, and how cross-account management and secret handling align with Kubernetes patterns.",{"@graph":63,"@context":118},[64,80,101],{"@type":65,"itemListElement":66},"BreadcrumbList",[67,71,74,77],{"item":68,"name":69,"@type":70,"position":9},"https://docshare.wps.com","Home","ListItem",{"item":72,"name":10,"@type":70,"position":73},"https://docshare.wps.com/template/",2,{"item":75,"name":11,"@type":70,"position":76},"https://docshare.wps.com/template/presentations/",3,{"item":78,"name":59,"@type":70,"position":79},"https://docshare.wps.com/template/aws-controllers-for-kubernetes-a-kubernetes-experience-for-aws-managed-services/200764/",4,{"url":78,"name":59,"@type":81,"image":82,"author":87,"headline":59,"publisher":90,"fileFormat":93,"inLanguage":57,"description":61,"dateModified":94,"datePublished":95,"encodingFormat":93,"isAccessibleForFree":96,"interactionStatistic":97},"DigitalDocument",{"url":83,"@type":84,"width":85,"height":86},"https://docshare.wps.com/thumbnails/aws-controllers-for-kubernetes-a-kubernetes-experience-for-aws-managed-services/200764.png","ImageObject",442,249,{"name":88,"@type":89},"Theodore","Person",{"url":68,"name":91,"@type":92},"DocShare","Organization","application/vnd.openxmlformats-officedocument.presentationml.presentation","2026-10-27","2026-09-04",true,{"@type":98,"interactionType":99,"userInteractionCount":40},"InteractionCounter",{"@type":100},"ViewAction",{"@type":102,"mainEntity":103},"FAQPage",[104,110,114],{"name":105,"@type":106,"acceptedAnswer":107},"What problem does AWS Controllers for Kubernetes solve?","Question",{"text":108,"@type":109},"It lets developers provision and manage AWS managed services while staying in a Kubernetes workflow instead of switching to tools like the AWS console, CloudFormation, or Terraform.","Answer",{"name":111,"@type":106,"acceptedAnswer":112},"How does ACK manage AWS resources in Kubernetes?",{"text":113,"@type":109},"Kubernetes holds the desired resource state, and the ACK service controller reconciles the lifecycle of AWS managed service resources based on that state.",{"name":115,"@type":106,"acceptedAnswer":116},"How is authorization handled for ACK controllers?",{"text":117,"@type":109},"Authorization uses Kubernetes RBAC for custom resources and IAM roles (including IAM Roles for Service Accounts) so controllers can access AWS using appropriate credentials.","https://schema.org",{"og:url":78,"og:type":120,"og:title":59,"og:site_name":91,"og:description":61},"article",{"robots":122,"canonical":78},"index,follow",{"doc_id":124,"site_id":56},200764,1790141913,{"code":4,"msg":5,"data":127},{"doc_id":124,"user_id":128,"nickname":88,"user_avatar":129,"doc_module":9,"category_id":8,"category_name":11,"doc_title":59,"doc_description":61,"doc_content":130,"file_id":131,"file_url":132,"file_type":133,"file_size":134,"view_count":40,"is_deleted":4,"is_public":9,"is_downloadable":9,"audit_status":9,"page_count":9,"language":135,"language_code":57,"site_id":56,"html_lang":57,"table_of_contents":136,"faqs":137,"seo_title":138,"seo_description":61,"update_tm":139,"read_time":4},7971461740886,"https://ap-avatar.wpscdn.com/davatar_3d24733baf745e90a7e4bdd5f77d97b2","AWS Controllers for Kubernetes\nThe AWS universe of services, now Kubeified.\nJay Pipes, Principal Open Source Engineer\n@jaypipes\nA familiar story...\nAlice is a web developer and a huge Kubernetes fan.\nShe's developed a node.js application and is building her application into a Docker image.\nThe application uses a SQLite database for simple storage.\nAlice goes to deploy on Kubernetes...\nkubectl apply -f deployment.yml\nkubectl apply -f service.yml\nand probably...\nkubectl apply -f ingress-nginx.yml\nEverything is great. Until...\nTen users try using the site at once.\nSQLite falls over.\nAlice needs to set up a real database.\nSo, Alice sets up a real database...\nkubectl apply -f postgres-secret.yml\nkubectl apply -f postgres-volume-claim.yml\nkubectl apply -f postgres-deployment.yml\nkubectl apply -f postgres-service.yml\nHmm...\nNow Alice is in the RDBMS administration game.\nDefinitely not what Alice had in mind.\nSo, what to do?\nAWS to the rescue!\nAlice finds out about Amazon Relational Database Service (RDS).\nw00t! No more Alice the DBA!\nBut, there's a problem....\nWhere is Alice's cozy Kubernetes experience?\nAlice doesn't have to use the AWS console...\nWhat about the aws CLI tool?\nWhat about CloudFormation?\nWhat about Terraform?\nBut those aren't Kubernetes.\nAnd Alice loves her Kubernetes.\nBut not enough to be a DBA.\nAlice wants RDS, but doesn't want to leave her Kubernetes experience.\nWhat can Alice do?\nkubectl apply -f db.yml\napiVersion: rds.services.k8s.aws/v1alpha1\nkind: DBInstance\nmetadata:\nname: mydb\nspec:\ndbInstanceClass: db.m1.large\ndbInstanceIdentifier: mydb\nengine: PostgreSQL\n...\nAWS Controllers for Kubernetes\nSolving Alice's problems. And yours too, hopefully.\nA Kubernetes experience for AWS services\nResources for AWS managed services are just another Kubernetes manifest\nKubernetes stores the desired resource state\nACK service controller handles the lifecycle of AWS managed service resources\nNo CloudFormation behind the scenes\nDesign of ACK\nEach AWS managed service has a separate ACK service controller\nInstall using Helm, static manifests or helper script\nEverything, including controller implementation, is code-generated\nConsult with AWS service teams to ensure API calling and behaviour is correct\nNot EKS specific, runs on any Kubernetes\nCode generation\nMultiple phases\nReads API models from aws-sdk-go, figures out which resources are CRDs (top-level)\nCreates Kubernetes API type definitions\nGenerates resource manager for each CRD\nGenerates linkage between AWS SDK and ACK runtime\nGenerates config and build files\nCode generation\nAuthorization and access control\nKubernetes RBAC for custom resources (CRs)\nIAM Roles for AWS service and account permissions\nEach ACK service controller in own Deployment\nACK service controller supplied with environment variables for AWS access credentials\nUse IAM Roles for Service Accounts to automate\nhttps://aws.github.io/aws-controllers-k8s/user-docs/authorization/\nCross-account resource management (soon)\nAvoid installing ACK controllers in many clusters\nKubernetes cluster admin associates an AWS account ID to a Namespace\nAll ACK CRs must be in a Namespace\nApplication developer creates AWS managed resources by creating CR in a Namespace\nACK controller looks up Role ARN\nController calls STS::AssumeRole to pivot client\nWhat about secret stuff?\napiVersion: rds.services.k8s.aws/v1alpha1\nkind: DBInstance\nmetadata:\nname: mydb\nspec:\ndbInstanceClass: db.m1.large\ndbInstanceIdentifier: mydb\nengine: PostgreSQL\nmasterUserPassword: UhmPlainText!?\n...\nAh, that's better. And more Kubernetes-like.\napiVersion: rds.services.k8s.aws/v1alpha1\nkind: DBInstance\nmetadata:\nname: mydb\nspec:\ndbInstanceClass: db.m1.large\ndbInstanceIdentifier: mydb\nengine: PostgreSQL\nmasterUserPassword:\nname: dbsecrets\nkey: masterUserPassword\n...\nOther things coming soon\nStandardized AWS tag representation for all ACK resources\nControl tags that all CRs (in a Namespace) should have\nCommon rate limiting and throttling support\n“Adopting” pre-existi","cbCaijxjtE0oicR9","https://ap.wps.com/l/cbCaijxjtE0oicR9","pptx",450058,"English","# AWS Controllers for Kubernetes\n## The Alice story: from SQLite to RDS via Kubernetes\n## A Kubernetes experience for AWS managed services\n## Design of ACK\n## Code generation\n## Authorization and access control\n## Secret handling\n## Other roadmap items","[{\"question\":\"What problem does AWS Controllers for Kubernetes solve?\",\"answer\":\"It lets developers provision and manage AWS managed services while staying in a Kubernetes workflow instead of switching to tools like the AWS console, CloudFormation, or Terraform.\"},{\"question\":\"How does ACK manage AWS resources in Kubernetes?\",\"answer\":\"Kubernetes holds the desired resource state, and the ACK service controller reconciles the lifecycle of AWS managed service resources based on that state.\"},{\"question\":\"How is authorization handled for ACK controllers?\",\"answer\":\"Authorization uses Kubernetes RBAC for custom resources and IAM roles (including IAM Roles for Service Accounts) so controllers can access AWS using appropriate credentials.\"}]","AWS Controllers for Kubernetes - A Kubernetes Experience for AWS Managed Services | PPTX",1788512683]