2019-11-14 06:37:10 -08:00
{{ define "hero" }}
2021-04-20 00:37:26 -07:00
{{ partial "hero" (dict "title" "Pulumi Crosswalk for Kubernetes") }}
2019-11-14 06:37:10 -08:00
{{ end }}
{{ define "main" }}
2021-04-20 00:37:26 -07:00
< section id = "overview" class = "max-w-4xl mx-auto text-center my-24" >
< h3 > Production-Ready Kubernetes for Teams< / h3 >
2022-06-01 10:58:20 -07:00
< p > Work as a team to deliver Kubernetes to any cloud, AWS, Azure, Google Cloud, or private.< / p >
< img class = "w-full" src = "/images/docs/quickstart/kubernetes/cake.svg" alt = "Pulumi Crosswalk for Kubernetes Architecture" / >
2021-04-20 00:37:26 -07:00
< div class = "mt-8" >
2021-04-28 17:16:00 -07:00
< a class = "btn-primary" href = "{{ relref . " / blog / crosswalk-kubernetes " } } " > Read the blog< / a >
2019-11-14 06:37:10 -08:00
< / div >
2021-04-20 00:37:26 -07:00
< / section >
2019-11-14 06:37:10 -08:00
2021-04-20 00:37:26 -07:00
< section id = "benefits" class = "mt-16 px-4" >
2019-11-14 06:37:10 -08:00
< div class = "container mx-auto" >
< div class = "md:flex mx-auto max-w-5xl mb-8" >
2021-04-20 00:37:26 -07:00
< div class = "md:w-1/3 p-4" >
< div class = "text-center p-6 h-full" >
{{ partial "color-icon.html" (dict "icon" "lightning" "icon_color" "violet") }}
< h5 > Production-Ready< / h5 >
< p >
2022-06-01 10:58:20 -07:00
Create, deploy, and manage clusters in any cloud, including Amazon EKS, Azure AKS, and Google Cloud GKE. Leverage built-in security, scale, and
manageability.
2021-04-20 00:37:26 -07:00
< / p >
< / div >
2019-11-14 06:37:10 -08:00
< / div >
2021-04-20 00:37:26 -07:00
< div class = "md:w-1/3 p-4" >
< div class = "text-center p-6 h-full" >
{{ partial "color-icon.html" (dict "icon" "rocketship" "icon_color" "yellow") }}
< h5 > Easy Development< / h5 >
< p >
2022-06-01 10:58:20 -07:00
Eliminate walls of YAML and mountains of Bash, using real programming languages and world class tools. Share and reuse patterns with a growing community
of practitioners.
2021-04-20 00:37:26 -07:00
< / p >
< / div >
2019-11-14 06:37:10 -08:00
< / div >
2021-04-20 00:37:26 -07:00
< div class = "md:w-1/3 p-4" >
< div class = "text-center p-6 h-full" >
{{ partial "color-icon.html" (dict "icon" "code" "icon_color" "violet") }}
< h5 > Operational Insights< / h5 >
< p >
2022-06-01 10:58:20 -07:00
Continuously deliver your applications and infrastructure, and tackle Day Two and beyond challenges. Gain operational insights in realtime using Cloud
Query Language (CQL).
2021-04-20 00:37:26 -07:00
< / p >
< / div >
< / div >
2019-11-14 06:37:10 -08:00
< / div >
2019-11-14 07:34:32 -08:00
< / div >
2019-11-14 06:37:10 -08:00
< / section >
2021-04-20 00:37:26 -07:00
< section id = "infrastructure" class = "py-16 px-4" >
2019-11-14 06:37:10 -08:00
< div class = "container mx-auto" >
2021-04-20 00:37:26 -07:00
< div class = "md:flex my-8 px-4" >
2019-11-14 06:37:10 -08:00
< div class = "md:w-1/2 md:mr-4" >
2021-04-20 00:37:26 -07:00
< h3 > Playbooks for Infrastructure< / h3 >
2019-11-14 06:37:10 -08:00
< p >
2022-06-01 10:58:20 -07:00
Create, deploy, and manage production-ready infrastructure leveraging hosted Kubernetes offerings such as Amazon Elastic Kubernetes Service (EKS), Azure
Kubernetes Service (AKS), or Google Kubernetes Engine (GKE). Benefit from tried-and-true Day Two and beyond integrations and playbooks, improving your
organization's security, manageability, and cost effectiveness.
2019-11-14 06:37:10 -08:00
< / p >
2022-06-01 10:58:20 -07:00
< p > With Pulumi's unique approach to infrastructure as code, you'll focus more on code and business logic, and less on YAML or DSL configuration languages.< / p >
2021-04-20 00:37:26 -07:00
< p class = "my-8" >
2023-05-15 16:50:57 -07:00
< a class = "btn-primary" href = "{{ relref . " / docs / clouds / kubernetes / guides / " } } " > Get Started< / a >
2019-11-14 06:37:10 -08:00
< / p >
< / div >
< div class = "md:w-1/2 md:ml:4" >
2023-07-12 13:20:57 -07:00
{{ $code := `import * as gcp from "@pulumi/gcp";
import * as k8s from "@pulumi/kubernetes";
// Create a GKE cluster.
const cluster = new gcp.container.Cluster("gke-cluster");
// Create a performant node pool in the cluster.
const performantNodes = new gcp.container.NodePool("performant-nodes", {
cluster: cluster.name,
nodeConfig: {
machineType: "n1-standard-16"
}
});
// Create an Apps namespace.
const appsNamespace = new k8s.core.v1.Namespace("apps");
// Create a quota.
const quotaAppNamespace = new k8s.core.v1.ResourceQuota("apps", {
spec: {
hard: {
cpu: "200",
memory: "1Gi",
pods: "10"
}
},
})
// Create a restrictive PodSecurityPolicy.
const restrictivePSP = new k8s.policy.v1beta1.PodSecurityPolicy("restrictive", {
spec: {
privileged: false,
runAsUser: {
rule: "RunAsAny"
},
fsGroup: {
rule: "RunAsAny"
},
seLinux: {
rule: "RunAsAny"
},
supplementalGroups: {
rule: "RunAsAny"
},
}
});` }}
2019-11-14 06:37:10 -08:00
{{ partial "code" (dict "code" $code "lang" "js" "mode" "dark") }}
< / div >
< / div >
< / div >
< / section >
2021-04-20 00:37:26 -07:00
< section id = "applications" class = "py-16 px-4" >
2019-11-14 06:37:10 -08:00
< div class = "container mx-auto" >
2021-04-20 00:37:26 -07:00
< div class = "md:flex my-8 px-4" >
2019-11-14 06:37:10 -08:00
< div class = "md:w-1/2 md:mr-4" >
2021-04-20 00:37:26 -07:00
< h3 > Simplified Application Configuration< / h3 >
2019-11-14 06:37:10 -08:00
< p >
2022-06-01 10:58:20 -07:00
Using libraries, you can focus on the most important parts of your application configuration, eliminating toil and boilerplate. Instead of walls of YAML and
mountains of Bash, you can write infrastructure as code in a general purpose language, benefiting from world class tools and ecosystems.
2019-11-14 06:37:10 -08:00
< / p >
< p >
2021-09-10 14:00:10 -07:00
Pulumi's unique approach to < a href = "{{ relref . " / what-is / what-is-infrastructure-as-code " } } " > infrastructure as code< / a >
2022-06-01 10:58:20 -07:00
means you can also leverage highly configurable and extensible components to enforce best practices within your team.
2019-11-14 06:37:10 -08:00
< / p >
2021-04-20 00:37:26 -07:00
< p class = "my-8" >
2023-05-15 16:50:57 -07:00
< a class = "btn-primary my-2" href = "{{ relref . " / docs / clouds / kubernetes / guides / " } } " > Get Started< / a >
2019-11-14 06:37:10 -08:00
< / p >
< / div >
< div class = "md:w-1/2 md:ml:4" >
2023-07-12 13:20:57 -07:00
{{ $code := `import * as kx from "@pulumi/kubernetesx";
// Define a Pod.
const pb = new kx.PodBuilder({
containers: [{
image: "nginx"
}]
});
// Create a Kubernetes Deployment using the previous Pod definition.
const deployment = new kx.Deployment("nginx", {
spec: pb.asDeploymentSpec()
});
// Expose the Deployment using a load balanced Kubernetes Service.
const service = deployment.createService({
type: kx.types.ServiceType.LoadBalancer,
});`
}}
2019-11-14 06:37:10 -08:00
{{ partial "code" (dict "code" $code "lang" "js" "mode" "dark") }}
< / div >
< / div >
< / div >
< / section >
2021-04-20 00:37:26 -07:00
< section id = "case-study" class = "container mx-auto mb-24" >
< div class = "text-center" >
< div class = "w-full lg:w-1/2 lg:mx-auto p-6" >
< div class = "flex flex-col card p-6 bg-white relative" >
< p class = "text-left mt-0 italic text-black" >
2022-06-01 10:58:20 -07:00
Pulumi enables our teams to deploy, scale and manage Kubernetes clusters in a fraction of the time that it took them previously, by giving them the ability
to work with the languages they already know, bypassing YAML and unwieldy DSLs. It helps bring together application and infrastructure developers by
eliminating silos and reducing friction in their workflows and interactions. We're excited that Pulumi Crosswalk for Kubernetes will simplify our
infrastructure provisioning even further, advancing application lifecycle management throughout our organization.
2021-04-20 00:37:26 -07:00
< / p >
< div class = "flex flex-grow items-end" >
< div class = "w-2/3 text-left" >
< p class = "text-black mb-0" > Fernando Carletti< / p >
< p class = "mt-0" > Head of DevOps< / p >
< / div >
< div class = "w-1/3 my-4" >
{{ partial "customer-logo.html" (dict "logo" "credijusto") }}
< / div >
< / div >
< / div >
< / div >
< / div >
< / section >
2019-11-14 06:37:10 -08:00
{{ end }}