Я настраиваю секьюризованный кластер ELK в GKE, используя бесплатную базовую аутентификацию xpack.
Я собрал манифест elfcisearch для k8s StatefullSet с xpack-security-enabled для true и так далее.У моего развертывания в kibana есть готовность, указывающая на «/ api / status» с заголовком авторизации, содержащим правильного пользователя base64: кодировка пароля.
Вот мое развертывание в kibana и связанный с ним вход:
apiVersion: apps/v1
kind: Deployment
metadata:
name: kibana
namespace: kube-logging
labels:
app: kibana
spec:
replicas: 1
selector:
matchLabels:
app: kibana
template:
metadata:
labels:
app: kibana
spec:
containers:
- name: kibana
image: docker.elastic.co/kibana/kibana:7.1.1
livenessProbe:
httpGet:
path: /api/status
port: 5601
httpHeaders:
- name: Authorization
value: Basic blabla==
initialDelaySeconds: 40
timeoutSeconds: 5
periodSeconds: 10
readinessProbe:
httpGet:
path: /api/status
port: 5601
httpHeaders:
- name: Authorization
value: Basic blabla==
initialDelaySeconds: 40
failureThreshold: 3
timeoutSeconds: 5
periodSeconds: 10
resources:
limits:
cpu: 1000m
requests:
cpu: 100m
env:
- name: ELASTICSEARCH_URL
value: http://elasticsearch:9200
- name: ELASTICSEARCH_USERNAME
value: kibana
- name: ELASTICSEARCH_PASSWORD
value: blabla
ports:
- name: kibana
containerPort: 5601
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: kibana
namespace: kube-logging
spec:
backend:
serviceName: kibana
servicePort: 5601
Когда я применяю вход, GCP автоматически создает проверку работоспособности HTTP для балансировщика нагрузки на пути '/' и ожидает состояние кода 200.Но кибана ожидает, что заголовок авторизации ответит 200.
Если я вручную обновлю проверку работоспособности балансировщика нагрузки HTTP на TCP, то все в порядке, но GCP автоматически отменит мои изменения, и мое развертывание кибаны снова станет недоступным