Столкнулся со следующей проблемой: мне нужно добавить поисковый домен на несколько модулей, чтобы иметь возможность общаться с безголовым сервисом. Документация Kubernetes рекомендует установить dnsConfig и установить все в нем. Это то, что я сделал. Также есть ограничение, что только 6 поисковых доменов могут быть установлены. Часть манифеста:
spec:
hostname: search
dnsPolicy: ClusterFirst
dnsConfig:
searches:
- indexer.splunk.svc.cluster.local
containers:
- name: search
К сожалению, это не имеет никакого эффекта, и файл resolv.conf на целевом модуле не включает этот поисковый домен:
search splunk.svc.cluster.local svc.cluster.local cluster.local us-east4-c.c.'project-id'.internal c.'project-id'.internal google.internal
nameserver 10.39.240.10
options ndots:5
После быстрого просмотра этого config Я обнаружил, что в настоящее время указывается 6 поисковых доменов, и, вероятно, это причина, по которой новый поисковый домен не добавляется . Вы можете добавить вручную, и все будет работать, но это не то, чего я пытаюсь достичь.
У вас есть идеи, как обойти это ограничение?
PS Задать для dnsPolicy значение None также не вариант, так как установить предварительные перехваты для добавления зоны поиска.
---
# Search-head deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: search
namespace: splunk
labels:
app: splunk
spec:
replicas: 1
selector:
matchLabels:
app: splunk
template:
metadata:
labels:
app: splunk
spec:
hostname: search
dnsPolicy: ClusterFirst
dnsConfig:
searches:
- indexer.splunk.svc.cluster.local
containers:
- name: search
image: splunk/splunk
env:
- name: SPLUNK_START_ARGS
value: "--accept-license"
- name: SPLUNK_PASSWORD
valueFrom:
secretKeyRef:
name: splunk-password
key: password
- name: SPLUNK_ROLE
value: splunk_search_head
- name: SPLUNK_SEARCH_HEAD_URL
value: search
- name: SPLUNK_INDEXER_URL # TODO: make this part dynamic.
value: indexer-0,indexer-1
ports:
- name: web
containerPort: 8000
- name: mgmt
containerPort: 8089
- name: kv
containerPort: 8191
volumeMounts:
- mountPath: /opt/splunk/var
name: sh-volume
volumes:
- name: sh-volume
persistentVolumeClaim:
claimName: sh-volume