Add magnum deployment examples
This commit is contained in:
parent
b61371e056
commit
ffa80e4e64
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
Loading…
Reference in New Issue