Skip to content

Instantly share code, notes, and snippets.

apiVersion: v1
kind: PersistentVolume
metadata:
name: test
spec:
capacity:
storage: 2Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
@harsh-px
harsh-px / px-shared-nginx.yaml
Last active June 1, 2017 21:01
shared px nginx
##### Portworx storage class
kind: StorageClass
apiVersion: storage.k8s.io/v1beta1
metadata:
name: portworx-io-priority-high
provisioner: kubernetes.io/portworx-volume
parameters:
repl: "1"
snap_interval: "70"
io_priority: "high"
@harsh-px
harsh-px / px-basic-demo.yaml
Created June 1, 2017 20:46
Basic PX storage class, pvc and pod
##### Portworx storage class
kind: StorageClass
apiVersion: storage.k8s.io/v1beta1
metadata:
name: portworx-io-priority-high
provisioner: kubernetes.io/portworx-volume
parameters:
repl: "1"
snap_interval: "70"
io_priority: "high"
@harsh-px
harsh-px / px-k8s-nginx.yaml
Last active June 1, 2017 20:45
Portworx + k8s + nginx
##### Portworx storage class
kind: StorageClass
apiVersion: storage.k8s.io/v1beta1
metadata:
name: portworx-io-priority-high
provisioner: kubernetes.io/portworx-volume
parameters:
repl: "1"
snap_interval: "70"
io_priority: "high"
@harsh-px
harsh-px / px-basics.sh
Last active June 1, 2017 20:12
Basic k8s px bringup
#!/bin/bash
# Deploy ETCD
docker run --restart=always --name etcd -v /data/varlib/etcd -p 4001:4001 -d portworx/etcd:latest
# (Optional) Create test loopback device
# dd if=/dev/zero of=my_fs bs=1M count=2048
# losetup /dev/loop0 my_fs
# List devices
@harsh-px
harsh-px / 3-node-etcd-create.sh
Last active June 1, 2017 19:37
Create 3 node etcd on k8s
#!/bin/bash
export ETCD_INITIAL_CLUSTER_TOKEN=$(python -c "import string; import random; print(''.join(random.SystemRandom().choice(string.ascii_lowercase + string.digits) for _ in range(40)))")
export ETCD_DISCOVERY_TOKEN=$(python -c "import string; import random; print(\"etcd-cluster-\" + ''.join(random.SystemRandom().choice(string.ascii_lowercase + string.digits) for _ in range(5)))")
curl -o 3-node-etcd.yaml https://gist.githubusercontent.com/harsh-px/52788ae08f6e01c5fb2bf278971267e2/raw/62e706072418e49fbeaedf633a01e32166dd041d/3-node-etcd.yaml
sed -i.bak -e "s/INSERT_ETCD_INITIAL_CLUSTER_TOKEN/\"${ETCD_INITIAL_CLUSTER_TOKEN}\"/g" -e "s/INSERT_ETCD_DISCOVERY_TOKEN/\"${ETCD_DISCOVERY_TOKEN}\"/g" 3-node-etcd.yaml
kubectl apply -f 3-node-etcd.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: etcd-discovery
spec:
strategy:
type: Recreate
replicas: 1
selector:
matchLabels:
@harsh-px
harsh-px / kube-controller-manager.yaml
Created May 25, 2017 21:17
kube-controller-manager.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: kube-controller-manager
namespace: kube-system
labels:
tier: control-plane
k8s-app: kube-controller-manager
spec:
replicas: 2
@harsh-px
harsh-px / Vagrantfile
Last active May 17, 2017 20:05
Vagrantfile for 4 node k8s setup
# vi: set ft=ruby :
require 'fileutils'
require 'tempfile'
NODE_COUNT = 3
MASTER_NAME = "master"
MINION_PREFIX = "minion-"
SUBNET = '192.168.33'
@harsh-px
harsh-px / px-user-role-binding.yaml
Last active May 5, 2017 23:08
Portworx user basic node operations (Get, Update, List)
apiVersion: v1
kind: ServiceAccount
metadata:
name: px-user
namespace: default
---
apiVersion: v1
kind: Secret
metadata:
name: px-user