parts/k8s/addons/tiller.yaml (100 lines of code) (raw):
apiVersion: v1
kind: ServiceAccount
metadata:
name: tiller
namespace: kube-system
labels:
kubernetes.io/cluster-service: "true"
addonmanager.kubernetes.io/mode: Reconcile
---
apiVersion: {{GetRBACAPIVersion}}
kind: ClusterRoleBinding
metadata:
name: tiller
labels:
kubernetes.io/cluster-service: "true"
addonmanager.kubernetes.io/mode: Reconcile
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: tiller
namespace: kube-system
---
apiVersion: v1
kind: Service
metadata:
labels:
app: helm
name: tiller
kubernetes.io/cluster-service: "true"
addonmanager.kubernetes.io/mode: Reconcile
name: tiller-deploy
namespace: kube-system
spec:
ports:
- name: tiller
port: 44134
targetPort: tiller
selector:
app: helm
name: tiller
type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: helm
name: tiller
kubernetes.io/cluster-service: "true"
addonmanager.kubernetes.io/mode: Reconcile
name: tiller-deploy
namespace: kube-system
spec:
selector:
matchLabels:
app: helm
name: tiller
template:
metadata:
labels:
app: helm
name: tiller
spec:
serviceAccountName: tiller
containers:
- env:
- name: TILLER_NAMESPACE
value: kube-system
- name: TILLER_HISTORY_MAX
value: "{{ContainerConfig "max-history"}}"
image: {{ContainerImage "tiller"}}
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /liveness
port: 44135
initialDelaySeconds: 1
timeoutSeconds: 1
name: tiller
ports:
- containerPort: 44134
name: tiller
readinessProbe:
httpGet:
path: /readiness
port: 44135
initialDelaySeconds: 1
timeoutSeconds: 1
resources:
requests:
cpu: {{ContainerCPUReqs "tiller"}}
memory: {{ContainerMemReqs "tiller"}}
limits:
cpu: {{ContainerCPULimits "tiller"}}
memory: {{ContainerMemLimits "tiller"}}
nodeSelector:
kubernetes.io/os: linux