openstack-helm/ceph/templates/service.yaml

42 lines
1.5 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 }}
---
kind: Service
apiVersion: v1
metadata:
name: {{ .Values.endpoints.ceph_mon.hosts.default }}
labels:
app: ceph
daemon: mon
annotations:
# In kubernetes 1.6 and beyond, it seems there was a change in behavior
# requiring us to tolerate unready endpoints to form a quorum. I can only
# guess at some small timing change causing statefulset+2 to not see the
# now ready statefulset+1, and because we do not tolerate unready endpoints
# a newly provisioned ceph-mon will most certainly never see itself in the
# peer list. This change allows us to form a quorum reliably everytime
service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
spec:
ports:
- port: {{ .Values.network.port.mon }}
protocol: TCP
targetPort: {{ .Values.network.port.mon }}
selector:
app: ceph
daemon: mon
clusterIP: None
{{- end }}