github.com/sl1pm4t/consul@v1.4.5-0.20190325224627-74c31c540f9c/website/source/docs/platform/k8s/index.html.md (about) 1 --- 2 layout: "docs" 3 page_title: "Kubernetes" 4 sidebar_current: "docs-platform-k8s-index" 5 description: |- 6 Consul has many integrations with Kubernetes. You can deploy Consul to Kubernetes using the Helm chart, sync services between Consul and Kubernetes, automatically secure Pod communication with Connect, and more. This section documents the official integrations between Consul and Kubernetes. 7 --- 8 9 # Kubernetes 10 11 Consul has many integrations with Kubernetes. You can deploy Consul 12 to Kubernetes using the Helm chart, sync services between Consul and 13 Kubernetes, automatically secure Pod communication with Connect, and more. 14 This section documents the official integrations between Consul and Kubernetes. 15 16 -> A step-by-step beginner tutorial and accompanying video can be found at the [Minikube with Consul guide](/docs/guides/minikube.html) 17 18 ## Use Cases 19 20 **Running a Consul server cluster:** The Consul server cluster can run directly 21 on Kubernetes. This can be used by both nodes within Kubernetes as well as 22 nodes external to Kubernetes, as long as they can communicate to the server 23 nodes via the network. 24 25 **Running Consul clients:** Consul clients can run as pods on every node 26 and expose the Consul API to running pods. This enables many Consul tools 27 such as envconsul, consul-template, and more to work on Kubernetes since a 28 local agent is available. This will also register each Kubernetes node with 29 the Consul catalog for full visibility into your infrastructure 30 31 **Service sync to enable Kubernetes and non-Kubernetes services to communicate:** 32 Consul can sync Kubernetes services with its own service registry. This allows 33 Kubernetes services to use native Kubernetes service discovery to discover 34 and connect to external services, and for external services to use Consul 35 service discovery to discover and connect to Kubernetes services. 36 37 **Automatic encryption and authorization for pod network connections:** 38 Consul can automatically inject the [Connect](/docs/connect/index.html) 39 sidecar into pods so that they can accept and establish encrypted 40 and authorized network connections via mutual TLS. And because Connect 41 can run anywhere, pods can also communicate with external services (and 42 vice versa) over a fully encrypted connection. 43 44 **And more!** Consul can run directly on Kubernetes, so in addition to the 45 native integrations provided by Consul itself, any other tool built for 46 Kubernetes can choose to leverage Consul. 47 48 ## "consul-k8s" Project 49 50 The dedicated [consul-k8s project](https://github.com/hashicorp/consul-k8s) 51 contains the integration functionality between Consul and Kubernetes. 52 You generally will not need to invoke this project directly since the 53 [Helm chart](/docs/platform/k8s/helm.html) automates the installation and 54 configuration of the project when necessary. 55 56 We may integrate this functionality directly into Consul in the future, 57 but the separate project allows us to iterate and version the Kubernetes 58 functionality separately. Additionally, a lot of the functionality works 59 across multiple Consul versions, so you're able to update and resolve any 60 Kubernetes integration issues without also upgrading Consul itself which 61 can be more difficult.