computer-k8s-operator/crd-generate/config/etcd/etcd_server.yaml (85 lines of code) (raw):
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You 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.
#
apiVersion: v1
kind: Service
metadata:
labels:
service.app: hugegraph-computer-operator-etcd
name: etcd
namespace: system
annotations:
service.alpha.kubernetes.io/tolerate-unready-endpoints: 'true'
spec:
ports:
- name: client
port: 2379
protocol: TCP
targetPort: 2379
- name: peer
port: 2380
protocol: TCP
targetPort: 2380
selector:
service.app: hugegraph-computer-operator-etcd
clusterIP: None
type: ClusterIP
sessionAffinity: None
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: etcd
namespace: system
spec:
replicas: 1
selector:
matchLabels:
service.app: hugegraph-computer-operator-etcd
template:
metadata:
labels:
service.app: hugegraph-computer-operator-etcd
spec:
hostname: hugegraph-computer-operator-etcd-0
subdomain: hugegraph-computer-operator-etcd
containers:
- name: hugegraph-computer-operator-etcd
image: etcd:latest
command:
- /bin/sh
- -ec
- |
HOSTNAME=$(hostname)
etcd --name ${HOSTNAME} \
--data-dir /var/etcd/data \
--initial-advertise-peer-urls http://${HOSTNAME}.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system:2380 \
--listen-peer-urls http://0.0.0.0:2380 \
--listen-client-urls http://0.0.0.0:2379 \
--advertise-client-urls http://${HOSTNAME}.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system:2379 \
--initial-cluster ${HOSTNAME}=http://${HOSTNAME}.hugegraph-computer-operator-etcd.hugegraph-computer-operator-system:2380 \
--initial-cluster-state new
ports:
- name: client
containerPort: 2379
- name: peer
containerPort: 2380
livenessProbe:
exec:
command:
- /bin/sh
- '-ec'
- ETCDCTL_API=3 etcdctl endpoint status
initialDelaySeconds: 10
timeoutSeconds: 10
periodSeconds: 60
successThreshold: 1
failureThreshold: 3
readinessProbe:
exec:
command:
- /bin/sh
- '-ec'
- ETCDCTL_API=3 etcdctl endpoint status
initialDelaySeconds: 1
timeoutSeconds: 5
periodSeconds: 5
successThreshold: 1
failureThreshold: 3