gcp JFrog Kubernetes

Kubernetes: Migrate Local Storage to Google Cloud Storage Bucket

I ran into an issue where having a local disk wasn’t the best solution and decided it was time to migrate to a Google Cloud Storage Bucket. This particular situation has to do with Artifactory where I was using a PersistentVolume (gcePersistentDisk) and now wanted to use a storage bucket (the right way). I had […]


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. Create Database […]


Kubernetes: Install Grafana & Prometheus on GKE using helm kube-prometheus-stack

Updated: September 23, 2020 Add Repo helm repo add prometheus-community helm repo add stable helm repo update Create custom_values.yaml GKE uses kubeDNS by default, so I enabled it. I created persistent disks and added an Internal Load Balancer by adding a google specific annotation. cat <<EOF > custom_values.yaml coreDns: enabled: false kubeDns: […]


Google Cloud SQL database exports using Cloud Scheduler

This is going to be a quick and to the point blog. As many of you know (if you’re here at this point, I know you know), Google Cloud SQL backups are directly linked to the instance itself. WHAT!? That means if the instance is deleted, so are your backups. As a DevOps engineer, this […]

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. 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, […]