Introducing Private Service Endpoints in IBM Cloud Kubernetes Service
5 min read
By: Chris Rosen
What if I want to create a Kubernetes cluster that is completely air-gapped from the public networks?
By default, IBM Cloud Kubernetes Service sets up your cluster with access on a public and private VLAN. Previously, if you wanted a private VLAN-only cluster, you needed to set up a gateway appliance to connect the cluster’s worker nodes with the master, resulting in additional cost and administration. Now, you can use the private service endpoint! With the private service endpoint enabled, all traffic between the worker nodes and the master is on the private network, without the need for a gateway appliance device. In addition to this increased security, inbound and outbound traffic on the private network is unlimited and not charged.
Optionally, you can still keep a public service endpoint for secure access to your Kubernetes master over the internet, for example, to run kubectl commands or integrate your CI/CD tooling without being on the private network. The following image shows the service architecture for communication between the master and worker nodes with both public and private service endpoints enabled.
Your cluster must run Kubernetes version 1.11 or later. If your cluster runs an earlier Kubernetes version, update today.
What is private service endpoint?
IBM Cloud Service Endpoint allows customers to connect to IBM Cloud services through the internal IBM Cloud network. Moving these workloads from IBM’s public cloud network offers two advantages to the client:
Services are no longer being served on an internet routable IP address. It is becoming increasingly common for cloud consumers to want limited or no access to the public internet from any of their services. Now, with Service Endpoints, service teams can create an internal interface for their service, and customers can connect to these services using the internal network interfaces. Internet access is no longer a requirement for customers to connect to IBM services.
There are no billed or metered bandwidth charges on IBM’s internal network. In the past, customers would be billed for egress bandwidth when talking to an IBM Cloud service.
Learn more about private service endpoints in docs.
What is the IBM Cloud Kubernetes Service?
IBM Cloud Kubernetes Service is a managed Kubernetes offering that delivers powerful management tools, an intuitive user experience, and built-in security and isolation to enable rapid delivery of applications, all while leveraging Cloud Services and cognitive capabilities from Watson. IBM Cloud Kubernetes Service provides native Kubernetes capabilities like intelligent scheduling, self-healing, horizontal scaling, service discovery and load balancing, automated rollouts and rollbacks, and secret and configuration management. IBM is also adding capabilities to the Kubernetes Service, including the following:
Container security and isolation choices
The ability to design your own cluster
The option to leverage other IBM Cloud services, such as Watson for your cognitive applications
Completely native Kubernetes CLI and API
Integrated operational tools or support to bring your own tools to ensure operational consistency with other deployments