
Currently CLUSTER and deployment namespace both default to ceph, so these variables can be used exchangeably.But once deployment namespace changes, MON daemonset will not be able to get its IP from ceph namespace. This fix swaps CLUSTER with NAMESPACE and solves this problem Change-Id: I0cf6afafb71f3972e24d13d479192e7a4e155de4 Signed-off-by: Huamin Chen <hchen@redhat.com>
176 lines
5.9 KiB
YAML
176 lines
5.9 KiB
YAML
{{/*
|
|
Copyright 2017 The Openstack-Helm Authors.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/}}
|
|
|
|
{{- if .Values.manifests_enabled.deployment }}
|
|
{{- $envAll := . }}
|
|
{{- $dependencies := .Values.dependencies.mon }}
|
|
---
|
|
kind: DaemonSet
|
|
apiVersion: extensions/v1beta1
|
|
metadata:
|
|
name: ceph-mon
|
|
spec:
|
|
template:
|
|
metadata:
|
|
labels:
|
|
{{ tuple $envAll "ceph" "mon" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
|
|
spec:
|
|
nodeSelector:
|
|
{{ .Values.labels.mon.node_selector_key }}: {{ .Values.labels.mon.node_selector_value }}
|
|
hostNetwork: true
|
|
dnsPolicy: {{ .Values.pod.dns_policy }}
|
|
serviceAccount: default
|
|
initContainers:
|
|
{{ tuple $envAll $dependencies "" | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
|
|
- name: ceph-init-dirs
|
|
image: {{ .Values.images.daemon }}
|
|
imagePullPolicy: {{ .Values.images.pull_policy }}
|
|
command:
|
|
- /tmp/init_dirs.sh
|
|
volumeMounts:
|
|
- name: ceph-bin
|
|
mountPath: /tmp/init_dirs.sh
|
|
subPath: init_dirs.sh
|
|
readOnly: true
|
|
- name: ceph-bin
|
|
mountPath: /variables_entrypoint.sh
|
|
subPath: variables_entrypoint.sh
|
|
readOnly: true
|
|
- name: pod-var-lib-ceph
|
|
mountPath: /var/lib/ceph
|
|
readOnly: false
|
|
- name: pod-run
|
|
mountPath: /run
|
|
readOnly: false
|
|
containers:
|
|
- name: ceph-mon
|
|
image: {{ .Values.images.daemon }}
|
|
imagePullPolicy: {{ .Values.images.pull_policy }}
|
|
{{ tuple $envAll $envAll.Values.pod.resources.osd | include "helm-toolkit.snippets.kubernetes_resources" | indent 10 }}
|
|
env:
|
|
- name: K8S_HOST_NETWORK
|
|
value: "1"
|
|
- name: MONMAP
|
|
value: /var/lib/ceph/mon/monmap
|
|
- name: NAMESPACE
|
|
valueFrom:
|
|
fieldRef:
|
|
apiVersion: v1
|
|
fieldPath: metadata.namespace
|
|
- name: CEPH_DAEMON
|
|
value: mon
|
|
- name: CEPH_PUBLIC_NETWORK
|
|
value: {{ .Values.network.public | quote }}
|
|
- name: MON_IP
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: status.podIP
|
|
command:
|
|
- /start_mon.sh
|
|
lifecycle:
|
|
preStop:
|
|
exec:
|
|
command:
|
|
- /remove-mon.sh
|
|
ports:
|
|
- containerPort: 6789
|
|
volumeMounts:
|
|
- name: ceph-bin
|
|
mountPath: /start_mon.sh
|
|
subPath: start_mon.sh
|
|
readOnly: true
|
|
- name: ceph-bin
|
|
mountPath: /remove-mon.sh
|
|
subPath: remove-mon.sh
|
|
readOnly: true
|
|
- name: ceph-bin
|
|
mountPath: /common_functions.sh
|
|
subPath: common_functions.sh
|
|
readOnly: true
|
|
- name: ceph-etc
|
|
mountPath: /etc/ceph/ceph.conf
|
|
subPath: ceph.conf
|
|
readOnly: true
|
|
- name: ceph-client-admin-keyring
|
|
mountPath: /etc/ceph/ceph.client.admin.keyring
|
|
subPath: ceph.client.admin.keyring
|
|
readOnly: true
|
|
- name: ceph-mon-keyring
|
|
mountPath: /etc/ceph/ceph.mon.keyring
|
|
subPath: ceph.mon.keyring
|
|
readOnly: false
|
|
- name: ceph-bin
|
|
mountPath: /variables_entrypoint.sh
|
|
subPath: variables_entrypoint.sh
|
|
readOnly: true
|
|
- name: ceph-bootstrap-osd-keyring
|
|
mountPath: /var/lib/ceph/bootstrap-osd/ceph.keyring
|
|
subPath: ceph.keyring
|
|
readOnly: false
|
|
- name: ceph-bootstrap-mds-keyring
|
|
mountPath: /var/lib/ceph/bootstrap-mds/ceph.keyring
|
|
subPath: ceph.keyring
|
|
readOnly: false
|
|
- name: ceph-bootstrap-rgw-keyring
|
|
mountPath: /var/lib/ceph/bootstrap-rgw/ceph.keyring
|
|
subPath: ceph.keyring
|
|
readOnly: false
|
|
- name: pod-var-lib-ceph
|
|
mountPath: /var/lib/ceph
|
|
readOnly: false
|
|
- name: pod-run
|
|
mountPath: /run
|
|
readOnly: false
|
|
livenessProbe:
|
|
tcpSocket:
|
|
port: 6789
|
|
initialDelaySeconds: 60
|
|
timeoutSeconds: 5
|
|
readinessProbe:
|
|
tcpSocket:
|
|
port: 6789
|
|
timeoutSeconds: 5
|
|
volumes:
|
|
- name: ceph-bin
|
|
configMap:
|
|
name: ceph-bin
|
|
defaultMode: 0555
|
|
- name: ceph-etc
|
|
configMap:
|
|
name: ceph-etc
|
|
defaultMode: 0444
|
|
- name: pod-var-lib-ceph
|
|
emptyDir: {}
|
|
- name: pod-run
|
|
emptyDir:
|
|
medium: "Memory"
|
|
- name: ceph-client-admin-keyring
|
|
secret:
|
|
secretName: {{ .Values.secrets.keyrings.admin }}
|
|
- name: ceph-mon-keyring
|
|
secret:
|
|
secretName: {{ .Values.secrets.keyrings.mon }}
|
|
- name: ceph-bootstrap-osd-keyring
|
|
secret:
|
|
secretName: {{ .Values.secrets.keyrings.osd }}
|
|
- name: ceph-bootstrap-mds-keyring
|
|
secret:
|
|
secretName: {{ .Values.secrets.keyrings.mds }}
|
|
- name: ceph-bootstrap-rgw-keyring
|
|
secret:
|
|
secretName: {{ .Values.secrets.keyrings.rgw }}
|
|
{{- end }}
|