3
votes

Comment ajouter des entrées d'hôtes supplémentaires dans les graphiques de barre

Je déploie donc ma pile d'applications sur les graphiques de barre de chant kubernetes et je dois maintenant ajouter des adresses IP et des noms d'hôte de serveur dépendants dans mon fichier pods / etc / hosts, j'ai donc besoin d'aide sur ce scénario


0 commentaires

3 Réponses :


3
votes

Comme dans la documentation, vous pouvez ajouter des hôtes supplémentaires au POD en utilisant alias d'hôte fonctionnalité

Exemple tiré de la documentation:

apiVersion: v1
kind: Pod
metadata:
  name: hostaliases-pod
spec:
  restartPolicy: Never
  hostAliases:
  - ip: "127.0.0.1"
    hostnames:
    - "foo.local"
    - "bar.local"
  - ip: "10.1.2.3"
    hostnames:
    - "foo.remote"
    - "bar.remote"
  containers:
  - name: cat-hosts
    image: busybox
    command:
    - cat
    args:
    - "/etc/hosts"


0 commentaires

2
votes

Kubernetes fournit un service DNS que tous les pods utiliser. À son tour, vous pouvez définir un service ExternalName qui définit simplement un Enregistrement DNS. Une fois que vous avez fait cela, vos pods peuvent parler à ce service de la même manière qu'ils parleraient à n'importe quel autre service Kubernetes, et atteindre n'importe quel serveur.

Vous pouvez déployer un ensemble de services ExternalName à l'échelle mondiale. Vous pouvez également le faire dans un graphique Helm, si vous le souhaitez, quelque chose comme

apiVersion: v1
kind: Service
metadata:
  name: {{ .Release.Name }}-{{ .Chart.Name }}-foo
spec:
  type: ExternalName
  externalName: {{ .Values.fooHostname }}

La pratique que j'ai apprise est que vous devriez éviter d'utiliser / etc / hosts si possible.


0 commentaires

0
votes

Une solution basée sur un modèle à la question d'origine. J'ai testé ceci avec helm 3.

hostAliases:
  - ip: "10.0.0.1"
    hostnames:
    - "host.domain.com"

Pour des valeurs telles que:

apiVersion: apps/v1
kind: Deployment
spec:
  template:
    spec:
    {{- with .Values.hostAliases }}
      hostAliases:
{{ toYaml . | indent 8 }}
    {{- end }}

Si hostAliases est omis ou commenté dans les valeurs, la section hostAliases est omise lors du rendu du modèle.


0 commentaires