Skip to content

Instantly share code, notes, and snippets.

View mikejk8s's full-sized avatar
🦀

Mike Johnson mikejk8s

🦀
View GitHub Profile
@mikejk8s
mikejk8s / gist:d7d7e71652fd838359968b221f756852
Last active January 18, 2018 16:44
updated nginx-ingress
apiVersion: v1
kind: Service
metadata:
labels:
name: client-socket-ingress
app: {{ template "fullname" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
name: client-socket-ingress
@mikejk8s
mikejk8s / nginx.yaml
Created May 23, 2017 21:10
full nginx ingess + ssl
apiVersion: v1
kind: Service
metadata:
name: nginx-ingress
spec:
loadBalancerIP: xxxxxxx
type: LoadBalancer
ports:
# - port: 80
# name: http
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress
annotations:
# This tells to only use the Nginx Ingress Controller
# and avoids the creation on a Global LoadBalancer on GKE.
kubernetes.io/ingress.class: "nginx"
spec:
tls:
@mikejk8s
mikejk8s / deploy-ci.yaml
Created May 5, 2017 18:49
k8s deploy ci
kubernetes-deploy:
stage: deploy
environment:
name: staging
script:
# - sed -i "s/__CI_ENVIRONMENT_SLUG__/$CI_ENVIRONMENT_SLUG/" nginx-deployment.yaml
# - cat nginx-deployment.yaml
- echo "$KUBE_CA_PEM" > kube_ca.pem
- kubectl config set-cluster default-cluster --server=$KUBE_URL --certificate-authority="$(pwd)/kube_ca.pem"
- kubectl config set-credentials default-admin --token=$KUBE_TOKEN
apiVersion: v1
kind: Service
metadata:
labels:
name: "{{.Values.client_socket_name}}"
app: {{ template "fullname" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
name: "{{.Values.client_socket_name}}"
image: registry.gitlab.com/gitlab-examples/kubernetes-deploy
stages:
- deploy
- rollback
kubernetes deploy:
stage: deploy
environment:
name: production
script:
- sed -i "s/__CI_ENVIRONMENT_SLUG__/$CI_ENVIRONMENT_SLUG/" nginx-deployment.yaml
@mikejk8s
mikejk8s / mongodb deployment
Created January 24, 2017 17:02
mongodb deployment
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: "{{.Values.tyk_mongo_0_name}}"
namespace: "{{.Values.tyk_namespace}}"
labels:
name: "{{.Values.tyk_mongo_0_name}}"
heritage: {{.Release.Service | quote }}
release: {{.Release.Name | quote }}
chart: "{{.Chart.Name}}-{{.Chart.Version}}"
@mikejk8s
mikejk8s / gcp-autosnapshot
Created January 20, 2017 20:22
gcp autosnapshot
#!/bin/bash
# loop through all disks within this project and create a snapshot
gcloud compute disks list --format='value(name,zone)'| while read DISK_NAME ZONE; do
gcloud compute disks snapshot $DISK_NAME --snapshot-names gcs-$DISK_NAME-$(date "+%Y-%m-%d-%s") --zone $ZONE
done
#
# snapshots are incremental and dont need to be deleted, deleting snapshots will merge snapshots, so deleting doesn't lose anything
# having too many snapshots is unwieldly so this script deletes them after 60 days
#
gcloud compute snapshots list --filter="creationTimestamp<$(date -d "-2 days" "+%Y-%m-%d")" --regexp "(gcs.*)" --uri | while read SNAPSHOT_URI; do