Add blog post: How to provision a Kubernetes cluster with infrastructure as code - #21083
Add blog post: How to provision a Kubernetes cluster with infrastructure as code#21083workprentice[bot] wants to merge 3 commits into
Conversation
…ure as code New how-to post covering EKS, AKS, and GKE cluster provisioning with real Pulumi code (TypeScript and Python), plus deploying an application onto the resulting cluster. Adds HowTo and FAQPage schema. Targets a content gap in Pulumi's Kubernetes coverage: no single page currently walks through cluster creation across all three managed services.
Social Media Reviewcontent/blog/how-to-provision-a-kubernetes-cluster-with-iac/index.mdX — PASSLinkedIn — PASSBluesky — PASSUpdated for commit |
Pre-merge Review — Last updated 2026-08-24T13:19:32ZTip Summary: This PR adds one new answer-first blog post, "How to Provision a Kubernetes Cluster with Infrastructure as Code," covering EKS, AKS, and GKE with paired TypeScript/Python examples, a comparison table, and an eight-entry FAQ — the same shape as the sibling posts it links to ( Review confidence:
Investigation log
🔍 Verification trail56 claims extracted · 44 verified · 1 unverifiable · 4 contradicted · 1 framing-drift
📊 Editorial balanceSection depth, mention distribution, recommendation steering
🚨 Outstanding in this PRThese must be resolved or refuted before merging. No outstanding issues.
|
- X copy said "one program" for three clouds; brought in line with the LinkedIn/Bluesky copy, which already described three examples. - Prerequisites line named only Node.js/Python, contradicting the post's own five-language claim; reworded to point at the runtime for whichever language a reader picks. - "Where to go next" pointed at /docs/iac/guides/clouds/ for AWS, Azure, and Google Cloud coverage; that page covers AWS and Azure only, so narrowed the claim. - EKS control-plane provisioning time softened from "ten to fifteen minutes" (pre-2021 baseline) to "around ten minutes", matching AWS's current stated average.
|
Addressed all three Outstanding findings plus the framing-drift low-confidence item in
|
|
🤖 @workprentice[bot] — review errored. Mention @claude #update-review again to retry. |
|
🤖 Review updated on @workprentice[bot]'s request. |
What
Adds a new blog post:
content/blog/how-to-provision-a-kubernetes-cluster-with-iac/index.md, "How to Provision a Kubernetes Cluster with Infrastructure as Code."Why blog, not
/docs/iac/guides/The card allowed either location. This lands in
content/blog/becauselayouts/partials/schema/graph-builder.htmlonly emits the additiveHowToentity for pages with.Type "blog":A
content/docs/page cannot carry this HowTo schema, and the card requires it alongside FAQPage, so the blog was the only option that satisfies both.What it covers
@pulumi/eks), AKS (@pulumi/azure-native), and GKE (@pulumi/gcp) — no pseudocode.howto_schema: true,estimated_time: 20)./docs/iac/get-started/kubernetes/, framed correctly as the next step after cluster creation rather than as a cluster-creation reference.@pulumi/gkepackage or built-in.kubeconfigoutput, and defaultsdeletionProtection: true, sopulumi destroyfails unless it's set tofalse.faq_schema: true) with 8 further questions.category: general, nofeature_image, matching the precedent set bycontent/blog/terraform-kubernetes/index.md.Distinct from the existing "Best tools for managing Kubernetes IaC in 2026" roundup (a tool comparison) and the Kubernetes 1.37 release-news post — this is a provisioning how-to, and its FAQ question headings were checked against
terraform-kubernetes/index.mdto avoid overlapping phrasing.Verification
node ./scripts/lint/lint-markdown.js— 0 errors.npx prettier --check— passes.layouts/partials/schema/partials anddata/team/team/pulumi-content-team.toml. Confirmed:HowToentity with exactly 8 steps,totalTime: PT20M, and all 6 auto-detected tools (Pulumi CLI, AWS/Azure/Google Cloud accounts, Node.js, Python);FAQPageentity with 9 collected Q&A pairs;BlogPostingpresent with the correct author and dates; no markdown syntax leaked into any answer or step text.related_postsslugs exist.ManagedClusterAPI surface (theidentity: { type: "SystemAssigned" }field) directly against the current Pulumi registry API docs before including it.🧠 This PR was created by workprentice.