mirror of
https://github.com/slurm-personal/school-dev-k8s.git
synced 2026-06-27 13:50:24 +00:00
fix: update apiversion, some small fixes
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: rabbitmq-config
|
||||
data:
|
||||
enabled_plugins: |
|
||||
[rabbitmq_peer_discovery_k8s].
|
||||
rabbitmq.conf: |
|
||||
## Cluster formation. See http://www.rabbitmq.com/cluster-formation.html to learn more.
|
||||
cluster_formation.peer_discovery_backend = rabbit_peer_discovery_k8s
|
||||
cluster_formation.k8s.host = kubernetes.default
|
||||
## Should RabbitMQ node name be computed from the pod's hostname or IP address?
|
||||
## IP addresses are not stable, so using [stable] hostnames is recommended when possible.
|
||||
## Set to "hostname" to use pod hostnames.
|
||||
## When this value is changed, so should the variable used to set the RABBITMQ_NODENAME
|
||||
## environment variable.
|
||||
cluster_formation.k8s.address_type = hostname
|
||||
## How often should node cleanup checks run?
|
||||
cluster_formation.node_cleanup.interval = 30
|
||||
## Set to false if automatic removal of unknown/absent nodes
|
||||
## is desired. This can be dangerous, see
|
||||
## * http://www.rabbitmq.com/cluster-formation.html#node-health-checks-and-cleanup
|
||||
## * https://groups.google.com/forum/#!msg/rabbitmq-users/wuOfzEywHXo/k8z_HWIkBgAJ
|
||||
cluster_formation.node_cleanup.only_log_warning = true
|
||||
cluster_partition_handling = autoheal
|
||||
## See http://www.rabbitmq.com/ha.html#master-migration-data-locality
|
||||
queue_master_locator=min-masters
|
||||
## See http://www.rabbitmq.com/access-control.html#loopback-users
|
||||
loopback_users.guest = false
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
kind: Role
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: endpoint-reader
|
||||
rules:
|
||||
- apiGroups: [""]
|
||||
resources: ["endpoints"]
|
||||
verbs: ["get"]
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
---
|
||||
kind: RoleBinding
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: endpoint-reader
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: rabbitmq
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: endpoint-reader
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
kind: Service
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: rabbitmq
|
||||
labels:
|
||||
app: rabbitmq
|
||||
spec:
|
||||
clusterIP: None
|
||||
ports:
|
||||
- name: amqp
|
||||
protocol: TCP
|
||||
port: 5672
|
||||
targetPort: 5672
|
||||
selector:
|
||||
app: rabbitmq
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: rabbitmq
|
||||
+92
@@ -0,0 +1,92 @@
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
name: rabbitmq
|
||||
spec:
|
||||
serviceName: rabbitmq
|
||||
replicas: 2
|
||||
selector:
|
||||
matchLabels:
|
||||
app: rabbitmq
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: rabbitmq
|
||||
spec:
|
||||
serviceAccountName: rabbitmq
|
||||
terminationGracePeriodSeconds: 10
|
||||
containers:
|
||||
- name: rabbitmq-k8s
|
||||
image: rabbitmq:3.7
|
||||
env:
|
||||
- name: MY_POD_IP
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.podIP
|
||||
- name: RABBITMQ_USE_LONGNAME
|
||||
value: "true"
|
||||
- name: RABBITMQ_NODENAME
|
||||
value: "rabbit@$(MY_POD_IP)"
|
||||
- name: K8S_SERVICE_NAME
|
||||
value: "rabbitmq"
|
||||
- name: RABBITMQ_ERLANG_COOKIE
|
||||
value: "mycookie"
|
||||
ports:
|
||||
- name: amqp
|
||||
protocol: TCP
|
||||
containerPort: 5672
|
||||
resources:
|
||||
limits:
|
||||
cpu: 1000m
|
||||
memory: 1024Mi
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 256Mi
|
||||
livenessProbe:
|
||||
exec:
|
||||
command: ["rabbitmqctl", "status"]
|
||||
initialDelaySeconds: 60
|
||||
periodSeconds: 60
|
||||
timeoutSeconds: 15
|
||||
readinessProbe:
|
||||
exec:
|
||||
command: ["rabbitmqctl", "status"]
|
||||
initialDelaySeconds: 20
|
||||
periodSeconds: 60
|
||||
timeoutSeconds: 10
|
||||
imagePullPolicy: Always
|
||||
volumeMounts:
|
||||
- name: config-volume
|
||||
mountPath: /etc/rabbitmq
|
||||
- name: data
|
||||
mountPath: /var/lib/rabbitmq
|
||||
volumes:
|
||||
- name: config-volume
|
||||
configMap:
|
||||
name: rabbitmq-config
|
||||
items:
|
||||
- key: rabbitmq.conf
|
||||
path: rabbitmq.conf
|
||||
- key: enabled_plugins
|
||||
path: enabled_plugins
|
||||
affinity:
|
||||
podAntiAffinity:
|
||||
preferredDuringSchedulingIgnoredDuringExecution:
|
||||
- weight: 100
|
||||
podAffinityTerm:
|
||||
labelSelector:
|
||||
matchExpressions:
|
||||
- key: app
|
||||
operator: In
|
||||
values:
|
||||
- rabbitmq
|
||||
topologyKey: kubernetes.io/hostname
|
||||
volumeClaimTemplates:
|
||||
- metadata:
|
||||
name: data
|
||||
spec:
|
||||
accessModes: ["ReadWriteOnce"]
|
||||
resources:
|
||||
requests:
|
||||
storage: 20Mi
|
||||
Reference in New Issue
Block a user