Skip to content

ZVA90/Kubernetes-Starter-Kit-Developers

 
 

Repository files navigation

Day-2 Operations-ready DigitalOcean Kubernetes (DOKS) for Developers

In this tutorial, we provide developers a hands-on introduction on how to get started with an operations-ready Kubernetes cluster on DigitalOcean Kubernetes (DOKS). Kubernetes is easy to set up and developers can use identical tooling and configurations across any cloud. Making Kubernetes operationally ready requires a few more tools to be set up, which are described in this tutorial.

Resources used by the starter kit include the following.

  • DigitalOcean droplets (for DOKS cluster)
  • DigitalOcean load balancer
  • DigitalOcean Block storage for persistent storage
  • DigitalOcean Spaces for object storage

Remember to verify and delete the resources at the end of the tutorial, if you no longer need those.

Operations-ready Setup Overview

Below is a diagram that gives a high-level overview of the setup presented in this tutorial as well as the main steps:

Setup Overview

Table of contents

  1. Scope
  2. Set up DO Kubernetes
  3. Set up DO Container Registry
  4. Ingress Using Ambassador
  5. Prometheus Monitoring Stack
  6. Logs Aggregation via Loki Stack
  7. Backup Using Velero
  8. Estimate resource usage of starter kit
  9. Automate Everything Using Terraform and Flux

Scope

This tutorial demonstrates the basic setup you need to be operations-ready.

All the steps are done manually using the command line interface (CLI). If you need end-to-end automation, refer to the last section.

None of the installed tools are exposed using Ingress or load balancer. To access the console for individual tools, we use kubectl port-forward.

We will use brew (on MacOS) to install the required command-line utilities on our local machine and use the command to work on a DOKS cluster.

For every service that gets deployed, we will enable metrics and logs. At the end, we will review the overhead from all these additional tools and services. That gives an idea of what it takes to be operations-ready after your first cluster install.

Note: For this starter kit, we recommend to start with a nodepool of higher capacity nodes (say, 4cpu/8gb RAM) and have 2 nodes. Otherwise, review and allocate node capacity if you run into pods in PENDING state.

This tutorial will use manifest files from this repo. It is recomended to clone this repository to your local environment. The below command can be used to clone this repository.

 git clone https://github.com/digitalocean/Kubernetes-Starter-Kit-Developers.git

If you want to automate installation for all the components, refer to section 15 - Automate with terraform & flux.

Finally, there are multiple places where you will change a manifest file to include a secret token for your cluster. Please be mindful of handling the secrets, and do not commit to public git repositories.

Go to Section 1 - Set up DigitalOcean Kubernetes.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HCL 100.0%