All Projects → kiwigrid → gcloud-kubectl-helm

kiwigrid / gcloud-kubectl-helm

Licence: MIT license
Docker image for the quaternity of gcloud, helm, kubectl and SOPS

Programming Languages

shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to gcloud-kubectl-helm

vcluster
vcluster - Create fully functional virtual Kubernetes clusters - Each vcluster runs inside a namespace of the underlying k8s cluster. It's cheaper than creating separate full-blown clusters and it offers better multi-tenancy and isolation than regular namespaces.
Stars: ✭ 1,360 (+4150%)
Mutual labels:  helm, kubectl
kube-lineage
A CLI tool to display all dependencies or dependents of an object in a Kubernetes cluster.
Stars: ✭ 238 (+643.75%)
Mutual labels:  helm, kubectl
gitops-kubernetes-cluster
A quick way to build a cluster with ArgoCD then deploy via Applications
Stars: ✭ 34 (+6.25%)
Mutual labels:  helm, kubectl
Helm Kubectl
Docker Hub image with helm and kubectl on top of alpine linux with bash
Stars: ✭ 233 (+628.13%)
Mutual labels:  helm, kubectl
Helm Docker
☸️ helm, gcloud, kubectl, jq
Stars: ✭ 41 (+28.13%)
Mutual labels:  helm, kubectl
Kubedog
Library to watch and follow kubernetes resources in CI/CD deploy pipelines
Stars: ✭ 326 (+918.75%)
Mutual labels:  helm, kubectl
kubehelper
KubeHelper - simplifies many daily Kubernetes cluster tasks through a web interface. Search, analysis, run commands, cron jobs, reports, filters, git synchronization and many more.
Stars: ✭ 200 (+525%)
Mutual labels:  helm, kubectl
Geodesic
🚀 Geodesic is a DevOps Linux Distro. We use it as a cloud automation shell. It's the fastest way to get up and running with a rock solid Open Source toolchain. ★ this repo! https://slack.cloudposse.com/
Stars: ✭ 629 (+1865.63%)
Mutual labels:  helm, kubectl
Binenv
One binary to rule them all. Manage all those pesky binaries (kubectl, helm, terraform, ...) easily.
Stars: ✭ 148 (+362.5%)
Mutual labels:  helm, kubectl
action-setup-kube-tools
Github Action that setup Kubernetes tools (kubectl, kustomize, helm, kubeconform, conftest, yq, rancher, tilt, skaffold) very fast and cache them on the runner. Please [✩Star] if you're using it!
Stars: ✭ 45 (+40.63%)
Mutual labels:  helm, kubectl
karvdash
Knot provides a complete environment for unleashing your productivity on Kubernetes
Stars: ✭ 30 (-6.25%)
Mutual labels:  helm
cmak-operator
CMAK (prev. Kafka Manager) for Kubernetes
Stars: ✭ 45 (+40.63%)
Mutual labels:  helm
kubernetes-hands-on
Kubernetes Hands-on by Algolia
Stars: ✭ 109 (+240.63%)
Mutual labels:  kubectl
kube-tools-aws
A lightweight Docker image with various CLI tooling for working with Kubernetes.
Stars: ✭ 26 (-18.75%)
Mutual labels:  helm
helm-charts
OpenSourced Helm charts
Stars: ✭ 38 (+18.75%)
Mutual labels:  helm
tacoplay
a set of playbooks to deploy taco, leveraging ironic, kubespray, rook-ceph, decapod (kustomize, argo-wf, argo-cd)
Stars: ✭ 34 (+6.25%)
Mutual labels:  helm
drone-gcloud-helm
Drone 0.5 plugin to create and deploy Helm charts for Kubernetes in Google Cloud.
Stars: ✭ 13 (-59.37%)
Mutual labels:  helm
matrix-chart
Helm chart for deploying a Matrix homeserver stack
Stars: ✭ 83 (+159.38%)
Mutual labels:  helm
kube-opennebula
Helm chart and OpenNebula images ready to deploy on Kubernetes
Stars: ✭ 43 (+34.38%)
Mutual labels:  helm
NodeWrecker
Simple pod to run in kubernetes to stress test your nodes
Stars: ✭ 27 (-15.62%)
Mutual labels:  helm

gcloud-kubectl-helm

Docker image for the quaternity of gcloud, helm, kubectl and SOPS.

The image also contains:

Docker Pulls CircleCI

  • latest latest build from master
  • tag Images will be taged by combination of packed HELM client version, gcloud and build-number, e.g. 2.12.1-228.0.0-68. There will be no git tag anymore. View all available image tags on DockerHub

Adding changes to this repo

  • Use a fork of this repo
  • Add a PR

Usage

With CGP Service Account and key file

Passing script with multiple commands

docker run -v /path/to/your/script.sh:/data/commands.sh:ro kiwigrid/gcloud-kubectl-helm

Passing script and GCP key-file

docker run -v /path/to/your/script.sh:/data/commands.sh:ro -volume /path/to/your/key-file.json:/data/gcp-key-file.json:ro kiwigrid/gcloud-kubectl-helm

Interactive usage with your personal GCP Account

docker run -ti -v /path/to/your/workspace:/data/ kiwigrid/gcloud-kubectl-helm bash
# authenticate and paste token
$ gcloud auth application-default login

# setup kubectl context
$ gcloud container clusters get-credentials

# run helm
$ helm install release /data/your/chart -f values.yaml
# or with sops encrypted secrets file
$ helm secrets install release /data/your/chart -f values.yaml -f secrets.myapp.yaml

CI/CD context

Using this image from a CI/CD pipeline is very handy. It's recommended to start the container at the beginning of your pipeline. Afterwards one can pass single commands to running container.

CONTAINER_NAME=gkh-container
# Start container
docker run \
  --volume /path/to/your/workdir:/workspace:ro \
  --workdir /workspace
  --volume /path/to/your/gcp-key-file.json:/data/gcp-key-file.json:ro \
  --env GOOGLE_APPLICATION_CREDENTIALS=/data/gcp-key-file.json
  --rm \
  -t \
  --name $CONTAINER_NAME \
  kiwigrid/gcloud-kubectl-helm:latest /bin/bash

# Execute arbitrary commands
docker exec $CONTAINER_NAME gcloud auth activate-service-account --key-file=/data/gcp-key-file.json
docker exec $CONTAINER_NAME gcloud config set project my-gcp-project-id
docker exec $CONTAINER_NAME gcloud container clusters get-credentials my-gke-cluster --project my-gcp-project-id --zone my-gke-zone

docker exec $CONTAINER_NAME helm list
docker exec $CONTAINER_NAME gcloud deployment-manager deployments describe my-deployment

# Kill
docker kill $CONTAINER_NAME

Command file examples

Authorize access to GCP with a service account and fetch credentials for running cluster

gcloud auth activate-service-account --key-file=/data/gcp-key-file.json
gcloud container clusters get-credentials <clusterName> --project <projectId> [--region=<region> | --zone=<zone>]

helm list
kubectl get pods --all-namespaces

Import GPG Keys

To import public GPG keys from keyserver, add them space separated to GPG_PUB_KEYS env variable.

docker run -e GPG_PUB_KEYS=<key id>   kiwigrid/gcloud-kubectl-helm:latest

Add distributed Helm Chart Repositories

To include adding of distributed helm chart repos, add REPO_YAML_URL as env variable. E.g.

docker run -e REPO_YAML_URL=https://raw.githubusercontent.com/helm/hub/master/config/repo-values.yaml kiwigrid/gcloud-kubectl-helm:latest

Credits

This repo is inspired by

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].