Skip to content

Instantly share code, notes, and snippets.

View chukaofili's full-sized avatar

Chuka Ofili chukaofili

View GitHub Profile
@chukaofili
chukaofili / k8s-dashboard-admin-user.yaml
Last active May 18, 2024 06:30
k8s user for dashboard
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: admin-user
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:
@chukaofili
chukaofili / digitalocean-pv-example.yml
Last active November 1, 2019 00:02
DigitalOcean persistent volume exammple
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pv1
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
@chukaofili
chukaofili / do-blockstorage-pv.sh
Last active November 1, 2019 00:02
Block storage script
#!/bin/bash
sudo su
mkdir -p /etc/kubernetes/kubelet-plugins/volume
## Uncomment line 8 and comment out line 7 below if you are using kubernetes 1.11+.
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
# echo "KUBELET_EXTRA_ARGS=--volume-plugin-dir=/etc/kubernetes/kubelet-plugins/volume " > /etc/default/kubelet # Use /etc/default/kubelet config file instead
systemctl daemon-reload
@chukaofili
chukaofili / digitalocean-sc.yml
Last active November 1, 2019 00:02
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
@chukaofili
chukaofili / digitalocean-flexplugin-rbac.yml
Created May 18, 2018 12:43
DigitalOcean rbac flexplugin deploy
apiVersion: v1
kind: ServiceAccount
metadata:
name: digitalocean-provisioner
namespace: kube-system
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: digitalocean-provisioner
@chukaofili
chukaofili / digitalocean-flexplugin-deploy.yml
Created May 18, 2018 12:41
DigitalOcean flexplugin deploy
apiVersion: apps/v1beta2
kind: DaemonSet
metadata:
labels:
app: digitalocean-flexplugin-deploy
name: digitalocean-flexplugin-deploy
namespace: kube-system
spec:
selector:
matchLabels:
@chukaofili
chukaofili / digitalocean-provisioner.yml
Created May 18, 2018 12:41
DigitalOcean flex-plugin provisioner
apiVersion: apps/v1beta2
kind: Deployment
metadata:
labels:
app: digitalocean-provisioner
name: digitalocean-provisioner
namespace: kube-system
spec:
replicas: 2
selector:
@chukaofili
chukaofili / digitalocean-secret.yml
Created May 18, 2018 12:39
DigitalOcean secret for flex-plugin provisioner
apiVersion: v1
kind: Secret
metadata:
name: digitalocean
namespace: kube-system
data:
access-token: [base64-encoded-string-goes-here]
@chukaofili
chukaofili / ingress-nginx.sh
Last active June 21, 2020 14:26
Nginx Ingress
#!/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