Skip to content

Instantly share code, notes, and snippets.

View JonathanBowker's full-sized avatar

Jonathan Bowker JonathanBowker

View GitHub Profile
@JonathanBowker
JonathanBowker / echo-server.yml
Created June 30, 2018 15:15 — forked from chukaofili/echo-server.yml
Echo Server Deployment
apiVersion: v1
kind: Namespace
metadata:
name: echoserver
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: echoserver
namespace: echoserver
#!/bin/bash
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/namespace.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/default-backend.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/configmap.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/tcp-services-configmap.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/udp-services-configmap.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/rbac.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/with-rbac.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/provider/baremetal/service-nodeport.yaml
@JonathanBowker
JonathanBowker / digitalocean-secret.yml
Created June 30, 2018 15:12 — forked from chukaofili/digitalocean-secret.yml
DigitalOcean secret for flex-plugin provisioner
apiVersion: v1
kind: Secret
metadata:
name: digitalocean
namespace: kube-system
data:
access-token: [base64-encoded-string-goes-here]
@JonathanBowker
JonathanBowker / digitalocean-provisioner.yml
Created June 30, 2018 15:12 — forked from chukaofili/digitalocean-provisioner.yml
DigitalOcean flex-plugin provisioner
apiVersion: apps/v1beta2
kind: Deployment
metadata:
labels:
app: digitalocean-provisioner
name: digitalocean-provisioner
namespace: kube-system
spec:
replicas: 2
selector:
apiVersion: apps/v1beta2
kind: DaemonSet
metadata:
labels:
app: digitalocean-flexplugin-deploy
name: digitalocean-flexplugin-deploy
namespace: kube-system
spec:
selector:
matchLabels:
apiVersion: v1
kind: ServiceAccount
metadata:
name: digitalocean-provisioner
namespace: kube-system
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: digitalocean-provisioner
@JonathanBowker
JonathanBowker / digitalocean-sc.yml
Created June 30, 2018 15:10 — forked from chukaofili/digitalocean-sc.yml
DigitalOcean storage class
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: [name-goes-here]
annotations:
storageclass.kubernetes.io/is-default-class: "true"
parameters:
zone: [region-goes-here]
provisioner: external/digitalocean
#!/bin/bash
sudo su
mkdir -p /etc/kubernetes/kubelet-plugins/volume
sed -i -e 's#\(KUBELET_EXTRA_ARGS=\)#\1--volume-plugin-dir=/etc/kubernetes/kubelet-plugins/volume #' /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
systemctl daemon-reload
systemctl restart kubelet
Under spec.containers.command add the following:
- --flex-volume-plugin-dir=/etc/kubernetes/kubelet-plugins/volume
Under spec.containers.volumeMounts add the following:
- mountPath: /etc/kubernetes/kubelet-plugins/volume
name: flexvolume-mount
readOnly: true
Under spec.volumes update the following:
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: admin-user