Octopus Deploy Documentation

Kubernetes

Last updated

Octopus Deploy makes it easy to manage your Kubernetes resources, whether you're starting simple or want complete control over a complex setup. You can deploy Kubernetes resources such as deployments, services, and ingress, and run scripts against a Kubernetes cluster.

  • Centralize your Kubernetes clusters and resources in a single place so you can focus on your applications and customers
  • Adopt development best practices:
    • Deploy to development, test, and production environments with automatic configuration updates (variable substitution)
    • Use built-in service accounts for simple and secure authentication
    • Implement deployment patterns like blue/green, canary, and rolling deployments
  • Automate routine maintenance and respond more quickly to emergencies:
    • Octopus runbooks and projects share the same variables and accounts to interact with your clusters
    • Use pre-approved kubectl scripts

Three screenshots from Octopus, showing the Google Cloud account configuration, Kubernetes deployment process, and a successful deployment to production.

Get started with Kubernetes and Octopus or manage a complex setup

Our Kubernetes automation supports three approaches:

  1. A structured UI step that guides you through the configuration without any YAML input
  2. A fully flexible step configured with raw YAML
  3. Helm chart automation steps

All three methods:

  • Are compatible with runbooks, environments, and shared variables in Octopus
  • Include robust config file support for repeatable and reliable deployments across multiple environments

Structured UI step without YAML input

If you're getting started with Kubernetes, we recommend the structured UI step. Octopus prompts you for the required properties and provides deep links to the official Kubernetes documentation so you can learn how Kubernetes works.

Raw YAML step

The raw YAML step allows you to configure Kubernetes manually, leveraging the full power of Octopus features to support your setup. This approach is more flexible and gives you complete control over the YAML but requires deeper knowledge of Kubernetes configuration.

You can also edit the YAML underlying the UI step if you find it faster or more convenient. This also makes it easy to upgrade to the raw YAML step if you outgrow the UI approach.

Helm chart automation steps

Helm is the de facto Kubernetes package manager, so our Helm chart steps are a popular option. Again, you have the full power of Octopus at your disposal, but there's less raw YAML to configure.

Kubernetes targets

Kubernetes targets are used by the Kubernetes steps to define the context in which deployments and scripts are run. Learn how to configure Kubernetes deployment targets.

Learn more

Need support? We're here to help.