Categories
gcp General Kubernetes

Kubernetes: Using GKE Workload Identity

https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity https://cloud.google.com/blog/products/containers-kubernetes/introducing-workload-identity-better-authentication-for-your-gke-applications For this example, I will be setting up access to Google Secrets Manager. Setup Environment Variables PROJECT_ID = Google Project ID GSA_NAME = Google IAM Service Account K8S_NAMESPACE = Kubernetes namespace KSA_NAME = Kubernetes Service Account export PROJECT_ID=[YOUR_PROJECT_ID] export GSA_NAME=sonic-itsmetommy export K8S_NAMESPACE=itsmetommy export KSA_NAME=sonic Create Kubernetes Service Account kubectl create serviceaccount ${KSA_NAME} -n ${K8S_NAMESPACE} […]

Categories
General

Kubernetes: Install Sonarqube on GKE with Google SQL

SonarQube is an open sourced code quality scanning tool. You can use a helm chart, but at the time of writing this blog I didn’t see a Google SQL proxy option. I ended up using helm template to generate the majority of the yaml files and added the Google SQL proxy parts myself. https://github.com/Oteemo/charts/tree/master/charts/sonarqube Create Database […]

Categories
General Kubernetes

Kubernetes: Sealed Secrets

Why use Sealed Secrets? Sealed Secrets provides a mechanism to encrypt a Secret object so that it is safe to store in a private or public repository. https://github.com/bitnami-labs/sealed-secrets How it works Sealed Secrets comprises the following components A controller deployed to cluster A CLI tool called kubeseal A custom resource definition (CRD) called SealedSecret Upon startup, […]

Categories
General Linux

Auto-Renew Let’s Encrypt Wildcard Certificate using Google Cloud DNS

Let’s go over how to create a Wildcard Certificate that also auto-renews. Wildcards are challenged by DNS-01. This challenge asks you to prove that you control the DNS for your domain name by putting a specific value in a TXT record under that domain name. This requires DNS access, especially when you are automating the […]

Categories
General Kubernetes

Kubernetes: NGINX Ingress Controller on GKE

Updated: 2020-06-17 What is an ingress? An Ingress gives you a way to route requests to services based on the request host or path, centralizing a number of services into a single entrypoint. With an Ingress, there is no need to create a bunch of Load Balancers or exposing each service on the Node. You […]