Add magnum deployment examples

This commit is contained in:
Thomas Hartland 2019-01-30 14:50:04 +01:00
parent b61371e056
commit ffa80e4e64
4 changed files with 164 additions and 0 deletions

View File

@ -0,0 +1,49 @@
kind: Deployment
apiVersion: apps/v1
metadata:
name: cluster-autoscaler
namespace: kube-system
labels:
app: cluster-autoscaler
spec:
replicas: 1
selector:
matchLabels:
app: cluster-autoscaler
template:
metadata:
namespace: kube-system
labels:
app: cluster-autoscaler
spec:
nodeSelector:
node-role.kubernetes.io/master: ""
securityContext:
runAsUser: 1001
tolerations:
- key: CriticalAddonsOnly
value: "True"
effect: NoSchedule
- key: dedicated
value: "master"
effect: NoSchedule
serviceAccountName: cluster-autoscaler-account
containers:
- name: cluster-autoscaler
image: thartland/magnum-autoscaler:v1.0
imagePullPolicy: Always
command:
- ./cluster-autoscaler
- --alsologtostderr
- --cluster-name=scaler-01
- --cloud-config=/config/cloud-config
- --cloud-provider=magnum
- --nodes=1:10:DefaultNodeGroup
volumeMounts:
- name: cloud-config
mountPath: /config
readOnly: true
volumes:
- name: cloud-config
secret:
secretName: cluster-autoscaler-cloud-config

View File

@ -0,0 +1,38 @@
kind: Deployment
apiVersion: apps/v1
metadata:
name: cluster-autoscaler
namespace: kube-system
labels:
app: cluster-autoscaler
spec:
replicas: 1
selector:
matchLabels:
app: cluster-autoscaler
template:
metadata:
namespace: kube-system
labels:
app: cluster-autoscaler
spec:
serviceAccountName: cluster-autoscaler-account
containers:
- name: cluster-autoscaler
image: thartland/magnum-autoscaler:v1.0
imagePullPolicy: Always
command:
- ./cluster-autoscaler
- --alsologtostderr
- --cluster-name=scaler-01
- --cloud-config=/config/cloud-config
- --cloud-provider=magnum
- --nodes=1:10:DefaultNodeGroup
volumeMounts:
- name: cloud-config
mountPath: /config
readOnly: true
volumes:
- name: cloud-config
secret:
secretName: cluster-autoscaler-cloud-config

View File

@ -0,0 +1,14 @@
apiVersion: v1
kind: Secret
metadata:
name: cluster-autoscaler-cloud-config
namespace: kube-system
type: Opaque
stringData:
cloud-config: |-
[Global]
auth-url=http://192.128.1.15:5000/v3
user-id=9a377d66afcf4b83848e7e1ae3178f33
password=FVJ2zbkewGnhZrzymI
trust-id=adbbbcd022bd4a3ea8b1703d4aa37ebc
region=RegionOne

View File

@ -0,0 +1,63 @@
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRole
metadata:
name: cluster-autoscaler-role
rules:
- apiGroups: [""]
resources: ["events","endpoints"]
verbs: ["create", "patch"]
- apiGroups: [""]
resources: ["pods/eviction"]
verbs: ["create"]
- apiGroups: [""]
resources: ["pods/status"]
verbs: ["update"]
- apiGroups: [""]
resources: ["endpoints"]
resourceNames: ["cluster-autoscaler"]
verbs: ["get","update"]
- apiGroups: [""]
resources: ["nodes"]
verbs: ["watch","list","get","update"]
- apiGroups: [""]
resources: ["pods","services","replicationcontrollers","persistentvolumeclaims","persistentvolumes"]
verbs: ["watch","list","get"]
- apiGroups: ["batch"]
resources: ["jobs"]
verbs: ["watch","list","get"]
- apiGroups: ["policy"]
resources: ["poddisruptionbudgets"]
verbs: ["watch","list"]
- apiGroups: ["apps"]
resources: ["daemonsets","replicasets","statefulsets"]
verbs: ["watch","list","get"]
- apiGroups: ["storage.k8s.io"]
resources: ["storageclasses"]
verbs: ["watch","list","get"]
- apiGroups: [""]
resources: ["configmaps"]
verbs: ["create"]
- apiGroups: [""]
resources: ["configmaps"]
resourceNames: ["cluster-autoscaler-status"]
verbs: ["delete","get","update"]
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: cluster-autoscaler-rolebinding
namespace: kube-system
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-autoscaler-role
subjects:
- kind: ServiceAccount
name: cluster-autoscaler-account
namespace: kube-system
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: cluster-autoscaler-account
namespace: kube-system