mirror of https://github.com/crossplane/docs.git
346 lines
16 KiB
HTML
346 lines
16 KiB
HTML
---
|
|
stylesheet: index
|
|
---
|
|
|
|
{% include values.inc %}
|
|
|
|
<div id="jumbotron">
|
|
<div>
|
|
<div class="grid">
|
|
<div class="col-5_md-12 main">
|
|
<div>
|
|
<h1>Manage any infrastructure your applications need directly from Kubernetes</h1>
|
|
<p>
|
|
Crossplane is an open source Kubernetes add-on that supercharges your Kubernetes clusters enabling you to provision and manage
|
|
infrastructure, services, and applications from kubectl.
|
|
</p>
|
|
<button id="getStarted" onclick="window.location.href='{{ githubLink }}'">
|
|
<img src="{{ "/images/github-teal.svg" | relative_url }}" />
|
|
<span>Get Started on GitHub</span>
|
|
</button>
|
|
<button id="joinSlack" onclick="window.location.href='{{ slackLink }}'">
|
|
<img src="{{ "/images/slack-white.svg" | relative_url }}" />
|
|
<span>Join Slack Channel</span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div class="col-7_md-12_md-first hero">
|
|
<div>
|
|
<img class="img" src="{{ "/images/hero.png" | relative_url }}" srcset="{{ "/images/hero.png" | relative_url }} 1x, {{ "/images/hero@2x.png" | relative_url }} 2x, {{ "/images/hero@3x.png" | relative_url }} 3x" alt="Crossplane hero image" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="useCases1" class="use-cases">
|
|
<div>
|
|
<div class="grid">
|
|
<div class="col-6_md-12_md-first">
|
|
<img src="{{ "/images/feature-4.png" | relative_url }}" srcset="{{ "/images/feature-4.png" | relative_url }} 1x, {{ "/images/feature-4@2x.png" | relative_url }} 2x, {{ "/images/feature-4@3x.png" | relative_url }} 3x"
|
|
alt="Provision and manage cloud infrastructure" />
|
|
</div>
|
|
<div class="col-6_md-12">
|
|
<h2>Provision and manage cloud infrastructure and services using kubectl</h2>
|
|
<p>
|
|
Crossplane extends your Kubernetes cluster, providing you with CRDs for any infrastructure or managed service. Define infrastructure configuration that can be versioned, managed,
|
|
and deployed using your favorite tools and existing processes you've already integrated with your clusters.
|
|
<img src="{{ "/images/quad-teal-medium.svg" | relative_url }}" />
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="createdBy">
|
|
<div>
|
|
<div class="grid">
|
|
<div class="col-12">
|
|
<img src="{{ "/images/stacks.png" | relative_url }}" srcset="{{ "/images/stacks.png" | relative_url }} 1x, {{ "/images/stacks@2x.png" | relative_url }} 2x, {{ "/images/stacks@3x.png" | relative_url }} 3x"
|
|
alt="Stacks" id="stacksImg" />
|
|
<h2>Created to power a more open cloud</h2>
|
|
<p>
|
|
We built Crossplane to help organizations build their clouds like the cloud vendors build theirs—with a control plane. Crossplane is a CNCF sandbox project which extends the Kubernetes
|
|
API to manage and compose infrastructure. Operators can encapsulate policies, permissions, and other guardrails behind a custom API line generated by Crossplane while application developers
|
|
can self-service from the API without needing to become an infrastructure expert.
|
|
</p>
|
|
<a href="{{ upboundLink }}">Learn more about how Upbound is helping build a more open cloud</a>
|
|
<img src="{{ "/images/created-by.png" | relative_url }}" srcset="{{ "/images/created-by.png" | relative_url }} 1x, {{ "/images/created-by@2x.png" | relative_url }} 2x, {{ "/images/created-by@3x.png" | relative_url }} 3x"
|
|
alt="Created By Upbound" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="useCases2" class="use-cases">
|
|
<div>
|
|
<div class="grid">
|
|
<div class="col-6_md-12">
|
|
<h2>There is a flavor of infrastructure for everyone on Crossplane</h2>
|
|
<p>
|
|
Crossplane supports infrastructure from all the major cloud providers and our community is constantly working on new Providers.
|
|
You can always join our Slack channel if you are interested in contributing and our amazing community members would be happy to help you write your own Provider.
|
|
</p>
|
|
<p>
|
|
<a href="{{ slackLink }}">Join the Crossplane Slack Channel</a>
|
|
</p>
|
|
<p><img src="{{ "/images/quad-red-medium.svg" | relative_url }}" /></p>
|
|
</div>
|
|
<div class="col-6_md-12_md-first img">
|
|
<img src="{{ "/images/flavors.svg" | relative_url }}" alt="Logos for AWS, Google Cloud, Red Hat, Alibaba Cloud, Microsoft Azure" />
|
|
</div>
|
|
</div>
|
|
<div class="grid">
|
|
<div class="col-6_md-12 img">
|
|
<img src="{{ "/images/feature-1.png" | relative_url }}" srcset="{{ "/images/feature-1.png" | relative_url }} 1x, {{ "/images/feature-1@2x.png" | relative_url }} 2x, {{ "/images/feature-1@3x.png" | relative_url }} 3x"
|
|
alt="Compose infrastructure for your applications" />
|
|
</div>
|
|
<div class="col-6_md-12">
|
|
<h2>Publish simplified infrastructure abstractions for your applications</h2>
|
|
<p>
|
|
Build your own internal infrastructure abstractions on top of the CRDs Crossplane provides. Your custom APIs can include policy guardrails, hiding
|
|
infrastructure complexity and making it safe for applications to consume.
|
|
<img src="{{ "/images/quad-teal-medium.svg" | relative_url }}" />
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div class="grid">
|
|
<div class="col-6_md-12">
|
|
<h2>Deploy applications using a team centric approach with OAM</h2>
|
|
<p>
|
|
Crossplane implements the Open Application Model to help unify application and infrastructure management around team-centric processes. With Crossplane and OAM,
|
|
application and infrastructure config can co-exist and be deployed using the same tooling.
|
|
</p>
|
|
<p>
|
|
<a href="https://oam.dev">Learn More About OAM</a>
|
|
</p>
|
|
<p><img src="{{ "/images/quad-red-medium.svg" | relative_url }}" /></p>
|
|
</div>
|
|
<div class="col-6_md-12_md-first img">
|
|
<img src="{{ "/images/feature-2.png" | relative_url }}" srcset="{{ "/images/feature-2.png" | relative_url }} 1x, {{ "/images/feature-2@2x.png" | relative_url }} 2x, {{ "/images/feature-2@3x.png" | relative_url }} 3x" alt="Manage complete applications with the Open Application Model" />
|
|
</div>
|
|
</div>
|
|
<div class="grid">
|
|
<div class="col-6_md-12 img">
|
|
<img src="{{ "/images/feature-3.png" | relative_url }}" srcset="{{ "/images/feature-3.png" | relative_url }} 1x, {{ "/images/feature-3@2x.png" | relative_url }} 2x, {{ "/images/feature-3@3x.png" | relative_url }} 3x"
|
|
alt="Run Crossplane anywhere" />
|
|
</div>
|
|
<div class="col-6_md-12">
|
|
<h2>Run Crossplane anywhere</h2>
|
|
<p>
|
|
Whether you're using a single Kubernetes cluster in EKS, AKS, GKE, ACK, PKS or a multi-cluster manager like Rancher or Anthos, Crossplane integrates nicely with all of them. Crossplane installs into any existing cluster exposing CRDs and a standard API across
|
|
infrastructure and service providers making provisioning and management a breeze.
|
|
<img src="{{ "/images/quad-teal-medium.svg" | relative_url }}" />
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="nativeCommunity">
|
|
<div>
|
|
<div class="grid">
|
|
<div class="col-12">
|
|
<h2>Started by Upbound and adopted as a sandbox project by the cloud native community</h2>
|
|
<div class="community-row">
|
|
<div class="logo-wrapper">
|
|
<img src="{{ "/images/upbound-logo.svg" | relative_url }}" alt="Upbound" />
|
|
</div>
|
|
<div class="logo-wrapper">
|
|
<img src="{{ "/images/alibaba.svg" | relative_url }}" alt="Alibaba Group" />
|
|
</div>
|
|
<div class="logo-wrapper">
|
|
<img src="{{ "/images/redhat-horizontal.svg" | relative_url }}" alt="Redhat" />
|
|
</div>
|
|
<div class="logo-wrapper">
|
|
<img src="{{ "/images/gitlab.svg" | relative_url }}" alt="GitLab" />
|
|
</div>
|
|
<div class="logo-wrapper">
|
|
<img src="{{ "/images/microsoft.svg" | relative_url }}" alt="Microsoft" />
|
|
</div>
|
|
</div>
|
|
<div class="visit-upbound">
|
|
<a href="https://upbound.io">Visit upbound.io to learn more about how Crossplane is being used to accelerate cloud-native transformation</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="blueprint">
|
|
<div class="blueprint-header">
|
|
<h2>Why use Crossplane to manage both applications and infrastructure?</h2>
|
|
<img src="{{ "/images/teal.svg" | relative_url }}" />
|
|
</div>
|
|
<div class="grid">
|
|
<div class="blueprint-items col-6_md-12 grid">
|
|
<div class="blueprint-bullet col-1_xs-2">
|
|
<img src="{{ "/images/declarative.svg" | relative_url }}" />
|
|
</div>
|
|
<div class="blueprint-item col-11_xs-10">
|
|
<h3>Declarative infrastructure configuration</h3>
|
|
<p>Crossplane brings Kubernetes-styled declarative and API-driven configuration and management to any piece
|
|
of infrastructure, on-premises and in the cloud. Through this approach, infrastructure managed through Crossplane
|
|
is accessible via kubectl, configurable with YAML, and self-healing right out of the box.</p>
|
|
</div>
|
|
<div class="blueprint-bullet col-1_xs-2">
|
|
<img src="{{ "/images/unify.svg" | relative_url }}" />
|
|
</div>
|
|
<div class="blueprint-item col-11_xs-10">
|
|
<h3>Unify application and infrastructure configuration and deployment</h3>
|
|
<p>Crossplane enables application and infrastructure configuration to co-exist on the same Kubernetes cluster, reducing the
|
|
complexity of your toolchains and deployment pipelines.</p>
|
|
</div>
|
|
<div class="blueprint-bullet col-1_xs-2">
|
|
<img src="{{ "/images/source.svg" | relative_url }}" />
|
|
</div>
|
|
<div class="blueprint-item col-11_xs-10">
|
|
<h3>One source of truth for infrastructure configuration and setup</h3>
|
|
<p>Crossplane integrates with CI/CD pipelines so application infrastructure configuration is
|
|
stored in a single control cluster. Teams can create, track, and approve changes using GitOps best practices already in use.</p>
|
|
</div>
|
|
<div class="blueprint-bullet col-1_xs-2">
|
|
<img src="{{ "/images/cycle.svg" | relative_url }}" />
|
|
</div>
|
|
<div class="blueprint-item col-11_xs-10">
|
|
<h3>Automate operational tasks with reconciling controllers</h3>
|
|
<p>A resource controller is responsible for the entire lifecycle of a resource. This resource is responsible for
|
|
provisioning, health, scaling, failover, and actively responding to external changes that deviate from the desired
|
|
configuration.</p>
|
|
</div>
|
|
<div class="blueprint-bullet col-1_xs-2">
|
|
<img src="{{ "/images/extensibility.svg" | relative_url }}" />
|
|
</div>
|
|
<div class="blueprint-item col-11_xs-10">
|
|
<h3>Built with high levels of extensibility</h3>
|
|
<p>Crossplane leverages broadly accepted Kubernetes patterns, making it easily extensible by adding
|
|
your own APIs and controllers. Increase flexibility and security by baking policies, quotas, and permissions into a custom infrastructure definition.</p>
|
|
</div>
|
|
<div class="blueprint-bullet col-1_xs-2">
|
|
<img src="{{ "/images/separation.svg" | relative_url }}" />
|
|
</div>
|
|
<div class="blueprint-item col-11_xs-10">
|
|
<h3>A strong separation of concerns.</h3>
|
|
<p>Developers can define workloads without worrying about implementation details, environment constraints, or policies. Administrators can define
|
|
environment specifics and policies. Enable a higher degree of reusability and reduce complexity.</p>
|
|
</div>
|
|
</div>
|
|
<div class="blueprint-img col-6_md-hidden">
|
|
<img src="{{ "/images/blueprint.png" | relative_url }}" alt="open cloud blueprint" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="openSource">
|
|
<div>
|
|
<div class="grid">
|
|
<div class="col-12">
|
|
<img src="{{ "/images/crossplane-truck.svg" | relative_url }}" alt="Crossplane truck" />
|
|
<h2>Crossplane is open source and community driven</h2>
|
|
<p>Crossplane is an open source add-on for Kubernetes supported by the cloud-native community. Crossplane has been endorsed by some of the world's best companies and is released under the Apache 2.0 license.
|
|
We remain committed to our community and will always be vendor neutral.</p>
|
|
<button onclick="window.location.href='{{ githubLink }}'">
|
|
Get Started with Crossplane Today
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="cncf">
|
|
<div>
|
|
<div class="grid">
|
|
<div class="col-12">
|
|
<a href="{{ cncfLink }}">
|
|
<img class="img" src="{{ "/images/cncf.png" | relative_url }}" srcset="{{ "/images/cncf.png" | relative_url }} 1x, {{ "/images/cncf@2x.png" | relative_url }} 2x, {{ "/images/cncf@3x.png" | relative_url }} 3x" alt="CNCF logo" />
|
|
</a>
|
|
<p>We are a Cloud Native Computing Foundation sandbox project.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="community">
|
|
<div>
|
|
<div class="grid-center">
|
|
<div class="col-10_sm-12">
|
|
<h2>Learn more and get involved with the community</h2>
|
|
<p>
|
|
Join the conversation and help shape the evolution of Crossplane. Here
|
|
are a few ways to get started.
|
|
</p>
|
|
</div>
|
|
<div class="col-3_md-6_xs-12 tile">
|
|
<div class="slack">
|
|
<div class="topbar"></div>
|
|
<div class="content">
|
|
<img src="{{ "/images/slack.svg" | relative_url }}" alt="slack" />
|
|
<h3>Slack</h3>
|
|
<p>
|
|
Join the Crossplane team and community members in our Slack group.
|
|
</p>
|
|
<button
|
|
class="grey"
|
|
onclick="window.location.href= '{{ slackLink }}';"
|
|
>
|
|
Join Slack
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-3_md-6_xs-12 tile">
|
|
<div class="github">
|
|
<div class="topbar"></div>
|
|
<div class="content">
|
|
<img src="{{ "/images/github.svg" | relative_url }}" alt="github" />
|
|
<h3>GitHub</h3>
|
|
<p>Watch and star Crossplane on GitHub and follow our progress.</p>
|
|
<button
|
|
class="grey"
|
|
onclick="window.location.href = '{{ githubLink }}';"
|
|
>
|
|
Visit GitHub
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-3_md-6_xs-12 tile">
|
|
<div class="youtube">
|
|
<div class="topbar"></div>
|
|
<div class="content">
|
|
<img src="{{ "/images/youtube.svg" | relative_url }}" alt="youtube" />
|
|
<h3>YouTube</h3>
|
|
<p>Join us discussing features and upcoming news for Crossplane.</p>
|
|
<button
|
|
class="grey"
|
|
onclick="window.location.href = '{{ youtubeLink }}';"
|
|
>
|
|
Visit YouTube
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-3_md-6_xs-12 tile">
|
|
<div class="podcast">
|
|
<div class="topbar"></div>
|
|
<div class="content">
|
|
<img src="{{ "/images/podcast.svg" | relative_url }}" alt="podcast" />
|
|
<h3>Podcast</h3>
|
|
<p>Listen to The Binding Status, a podcast from the Crossplane community,
|
|
to learn more about the project and its users.</p>
|
|
<button class="grey" onclick="window.location.href = '{{ podcastLink }}';">
|
|
Visit Podcast
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<p class="join">
|
|
You can also join us every other week for our
|
|
<a href="{{ communityMeetingLink }}">community meeting</a> call to discuss
|
|
Crossplane
|
|
</p>
|
|
</div>
|
|
</div>
|