apiVersion: v1
kind: Service
metadata:
name: etcd
namespace: arts-system
labels:
app: etcd
spec:
ports:
- port: 2379
name: client
- port: 2380
name: peer
clusterIP: None
selector:
app: etcd
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: etcd
namespace: arts-system
spec:
serviceName: "etcd"
replicas: 3
selector:
matchLabels:
app: etcd
template:
metadata:
labels:
app: etcd
spec:
containers:
- name: etcd
image: quay.io/coreos/etcd:v3.4.13
imagePullPolicy: IfNotPresent
ports:
- containerPort: 2379
name: client
- containerPort: 2380
name: peer
volumeMounts:
- name: etcddata
mountPath: /var/run/etcd
subPath: artsdata/etcd
command:
- /usr/local/bin/etcd
args:
- --data-dir=/var/run/etcd/$(ETCD_NAMES)data
- --name=$(ETCD_NAMES)
- --initial-advertise-peer-urls=http://$(ETCD_NAMES).etcd:2380
- --listen-peer-urls=http://0.0.0.0:2380
- --listen-client-urls=http://0.0.0.0:2379
- --advertise-client-urls=http://$(ETCD_NAMES).etcd:2379
- --initial-cluster-token=etcd-cluster
- --initial-cluster=etcd-0=http://etcd-0.etcd:2380,etcd-1=http://etcd-1.etcd:2380,etcd-2=http://etcd-2.etcd:2380
- --initial-cluster-state=new
env:
- name: ETCD_NAMES
valueFrom:
fieldRef:
fieldPath: metadata.name
volumes:
- name: etcddata
persistentVolumeClaim:
claimName: artspvc
#claimName: arts-pvc
K8S部署etcd集群
于 2023-12-12 16:41:18 首次发布