Skip to content

Instantly share code, notes, and snippets.

openpgp4fpr:E1D41017481B1ED9E3B77AF59C9CAE7EC2133DB7

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

Git Actions: CI System Actions:
+-------------------------+ +-----------------+
+--► Create a Feature Branch | +---► Build Container |
| +------------+------------+ | +--------+--------+
| | | |
| | | |
| +--------▼--------+ | +-------▼--------+
| +---► Push the Branch +-------+ | Push Container |
| | +--------+--------+ +-------+--------+

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 / 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:
@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