Я попробовал решение кода Саймона.Но он дает мне подсказку, что это должно быть безголовое обслуживание.однако в моем случае я создаю безголовый сервис, добавив «clusterIP: None».Это дает "Провайдеру семени не удалось найти хост" без этой строки.Я не могу найти DNS pod (elassandra-0.elassandra.chargington.svc.cluster.local), но я не могу найти DNS службы (elassandra.chargington.svc.cluster.local).
Иногда вам не требуется балансировка нагрузки или IP-адрес одного сервиса.В этом случае вы можете создать «безголовые» службы, указав «None» для IP-адреса кластера (.spec.clusterIP).
https://kubernetes.io/docs/concepts/services-networking/service/
Вот мой код
apiVersion: v1
kind: Service
metadata:
labels:
app: elassandra
name: elassandra
namespace: chargington
spec:
clusterIP: None
ports:
- name: cassandra
port: 9042
- name: http
port: 9200
- name: transport
protocol: TCP
port: 9300
selector:
app: elassandra
И в моем наборе состояний мне нужно установить serviceName: elassandra
.Это необходимо для указания StatefulSet на Службу, которая будет управлять доменом для DNS-имен модуля.
---
apiVersion: "apps/v1beta1"
kind: StatefulSet
metadata:
name: elassandra
namespace: chargington
spec:
serviceName: elassandra
replicas: 1
template:
metadata:
labels:
app: elassandra
spec:
containers:
- name: elassandra
image: strapdata/elassandra:6.2.3.3
imagePullPolicy: IfNotPresent
ports:
- containerPort: 7000
name: intra-node
- containerPort: 7001
name: tls-intra-node
- containerPort: 7199
name: jmx
- containerPort: 9042
name: cql
- containerPort: 9200
name: http
protocol: TCP
- containerPort: 9300
name: transport
protocol: TCP
env:
- name: CASSANDRA_SEEDS
value: elassandra-0.elassandra.chargington.svc.cluster.local
- name: MAX_HEAP_SIZE
value: 256M
- name: HEAP_NEWSIZE
value: 100M
- name: CASSANDRA_CLUSTER_NAME
value: "Cassandra"
- name: CASSANDRA_DC
value: "DC1"
- name: CASSANDRA_RACK
value: "Rack1"
- name: CASSANDRA_ENDPOINT_SNITCH
value: GossipingPropertyFileSnitch
volumeMounts:
- name: elassandra-data
mountPath: /opt/elassandra-5.5.0.8/data
volumeClaimTemplates:
- metadata:
name: elassandra-data
annotations:
volume.beta.kubernetes.io/storage-class: ""<br>
spec:
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 1Gi