The Kubernetes landscape is constantly evolving as end users and developers search for the right tools, approaches, and abstractions to help them manage Cloud Native infrastructure in production. Last Friday, we were honored to have Joe Beda show where Pulumi fits in on his TGIK livestream, highlighting how to use your favorite language and consistent workflows to create, deploy, and manage cloud resources across multiple clouds and Kubernetes.
Provisioning, managing, and monitoring a Kubernetes cluster is no easy task. AWS now offers EKS to ease a lot of that burden -- but it's still difficult to get up and running. Pulumi's infrastructure as code to the rescue! We can now provision an entire EKS cluster with a CLI single gesture, thanks to the
@pulumi/eks package. Let's see how.
Next Thursday (January 17), we'll be presenting at the SF Kubernetes meetup, alongside Pulumi's friends at Gravitational!
The Helm community is one of the brightest spots in the infrastructure ecosystem: collectively, it has accumulated person-decades of operational expertise to produce Kubernetes manifests that “just work.”
But for many users, it is not feasible to run everything in Kubernetes, and the community is just starting to develop answers to questions like: what happens when a Helm Chart needs to interface with, for example, a managed database like AWS RDS or Azure CosmosDB?
This post is part 3 in a series on the Kubernetes API. Part 1 focused on the lifecycle of a
Pod, part 2 focused on the lifecycle of a
What is happening when a
Deployment rolls out a change to your app? What does it actually do when a
Pod crashes or is killed? What happens when a
Pod is re-labled so that it's not targeted by the
Deployment is probably the most complex resource type in Kubernetes core.
Deployment specifies how changes should be rolled out over
ReplicaSets, which themselves specify how
Pods should be replicated in a cluster.
In this post we continue our exploration of the Kubernetes API, cracking
Deployment open using
kubespy, a small tool we developed to observe Kubernetes resources in real-time.
kubespy trace, for example, we can observe at a high level what happens when
Deployment rolls out a new version of an application:
This post is part 2 in a series on the Kubernetes API. Part 1 focused on the lifecycle of a
Why isn't my
Pod getting any traffic?
This post is part 1 in a series.
One of the most popular features of the recent v0.15.2 release of Pulumi is fine-grained status updates for Kubernetes resources. On the CLI they look like this:
In this post, we’ll take a look at 11 “pearls” – bite-sized code snippets – that demonstrate using Pulumi to build and deploy Kubernetes applications using cloud native infrastructure as code. These pearls are organized into three categories, each demonstrating a unique scenario:
- Config as Real Code: Use your favorite language for authoring applications and configuration, eliminating toil and YAML.
- Multi-Cloud Infrastructure: Mix cloud services alongside Kubernetes resources and manage them using one set of tools and workflows.
- Software Delivery as Code: Perform sophisticated continuous delivery of your Kubernetes deployments – including canaries, staged rollouts, leveraging cloud native projects like Envoy and Prometheus – authored in real code.
Today we’re pleased to announce Pulumi for Kubernetes, a way to create, deploy, and manage Kubernetes applications using your favorite programming languages, bringing the same lovable experience that works across AWS, Azure, Google Cloud, OpenStack, and other clouds, now to Kubernetes and cloud native architectures. We have built this support in response to significant user interest and real end users scenarios, and are excited to share what we’ve been up to. You can dive right in here and look at some powerful things Pulumi enables here.
Kubernetes is a powerful container orchestrator for cloud native applications that can run on any cloud -- AWS, Azure, GCP -- in addition to hybrid and on-premises environments. Its CLI,
kubectl, offers basic built-in support for performing deployments, but intentionally stops short here. In particular, it doesn't offer diffs and previews, the ability to know when a deployment has succeeded or failed, and why, and/or sophisticated deployment orchestration.
In this post, we’ll see how Pulumi, an open source cloud native development platform, can not only let you express Kubernetes programs in real programming languages, like TypeScript, instead of endless YAML templates, but also how Pulumi delivers simple and reproducible, yet powerful, Kubernetes deployment workflows.