8 Deployment

 

This chapter covers

  • Building Docker images for gRPC services
  • Understanding the components of Kubernetes
  • Maintaining certificates in Kubernetes to enable TLS communication between the end user and the services
  • The motivation behind deployment strategies

Microservices architecture is built on top of a distributed system in which you can see many services, standalone CronJobs, third-party dependencies, and so on. Since there are many challenges in such an environment, it is important to build cloud-native applications. Container technologies like Docker help generate cloud-native artifacts from those application source codes. In the same way, Kubernetes, an open source container orchestration platform, helps deploy artifacts in an environment in which most of the cloud components, such as a load balancer, disk, and networking, are abstracted. In this chapter, we will learn how to build artifacts within the CI (continuous integration) pipeline and deploy gRPC microservices to Kubernetes in the CD (continuous deployment) pipeline.

8.1 Docker

8.1.1 Building images

8.2 Kubernetes

8.2.1 Kubernetes architecture

8.2.2 Kubernetes resources

8.2.3 Eagle view of microservices deployment

8.2.4 Pod

8.2.5 Deployment

8.2.6 Service

8.2.7 NGINX Ingress controller

8.3 Certificate management

8.3.1 Installation

8.3.2 ClusterIssuer

8.3.3 Certificate usage in Ingress