Skip to content

Instantly share code, notes, and snippets.

View sudermanjr's full-sized avatar

Andy Suderman sudermanjr

View GitHub Profile

openpgp4fpr:E1D41017481B1ED9E3B77AF59C9CAE7EC2133DB7

@sudermanjr
sudermanjr / auditLog.yaml
Created January 18, 2019 16:49
Kops cluster spec snippet enabling audit logging.
spec:
fileAssets:
- name: auditPolicyFile
path: /srv/kubernetes/audit.yaml
roles:
- Master
content: |
apiVersion: audit.k8s.io/v1beta1
kind: Policy
rules:
Git Actions: CI System Actions:
+-------------------------+ +-----------------+
+--► Create a Feature Branch | +---► Build Container |
| +------------+------------+ | +--------+--------+
| | | |
| | | |
| +--------▼--------+ | +-------▼--------+
| +---► Push the Branch +-------+ | Push Container |
| | +--------+--------+ +-------+--------+

KIAM Implementation Notes

Roles and IAM

Masters already have assume-role (presumably), so we just need to create the roles. Module found here works quite well: uswitch/kiam#25 (comment)

Certs

For some reason kiam-server expects the certs to be valid for IP 127.0.0.1 as well as for the name of the service. I generated the certs using the instructions in the kiam repo, and it worked. Cert-manager doesn’t do IPs as well as DNS names yet, but it’s on the way in v0.7: https://github.com/jetstack/cert-manager/pull/1128/files

Andrew Suderman

Andrew Suderman has had a lifelong obsession with technology that currently fuels his passion for Kubernetes. He enjoys designing and building new systems that make life easier for developers. Currently he pursues that passion at ReactiveOps, where he maintains dozens of clusters and works on internal tooling.

In his spare time he enjoys off-roading, camping, quadcopters, motorcycles, and far too many other hobbies to afford.

apiVersion: apps/v1
kind: Deployment
metadata:
name: utilities
labels:
app: utilities
spec:
replicas: 1
selector:
matchLabels:
@sudermanjr
sudermanjr / Kube203-ResourceBlock.yaml
Created November 21, 2018 06:39
Kube203 Example Resource Block
resources:
limits:
cpu: 100m
memory: 64Mi
requests:
cpu: 100m
memory: 64Mi
@sudermanjr
sudermanjr / course-snippet.yaml
Created November 19, 2018 16:55
Using a default wildcard certificate from Let's Encrypt with ingress-nginx
nginx-ingress:
values-strings:
controller:
extraArgs:
default-ssl-certificate: "infra/wildcard"
@sudermanjr
sudermanjr / Kube202-RbacDefinition.yaml
Created November 9, 2018 04:31
Kube202 RbacDefinition
apiVersion: rbacmanager.reactiveops.io/v1beta1
kind: RBACDefinition
metadata:
name: rbac-manager-definition
namespace: kube-system
rbacBindings:
- name: admins
subjects:
- kind: ServiceAccount
name: ci
@sudermanjr
sudermanjr / Kube202-Helm-Install-Rbac-Manager
Created November 9, 2018 04:30
Kube202 Helm Install Rbac-Manager
helm install --namespace kube-system --name rbac-manager stable/rbac-manager