Ceci Article Décrit comment attribuer des alias d'hôte aux gousses de Kubettes, est-ce qu'il y a de toute façon pour le faire pour un déploiement et non pour une pod en tant que telle?
Toute autre suggestion pour ajouter des entrées d'hôte à Kubettes pour fournir une première ligne de résolution de noms d'hôte (avant de vérifier un serveur comme 8.8.8.8) serait également accueillie comme une réponse.
Oui c'est possible. Tout ce que vous avez à faire est de suivre le même conseil que vous receviez pour une spécification de POD, mais plutôt que de l'appliquer à un fichier YAML pour les pods, vous l'appliquez à un fichier YAML pour un déploiement. Par exemple, si vous exécutez déjà un déploiement, vous pouvez modifier le déploiement actuel en émettant la commande suivante.
$ kubectl modifier déploiement de déploiement_name_name
Cela vous permettra d'accéder au mode d'édition du déploiement en cours d'exécution au format YAML.
Vous devez ajouter la section "Hostaliases" dans le champ Modèle de déploiement: SPEC "qui vous permet de configurer le modèle de la gousse/des conteneurs. Donc, pour démontrer cela visuellement, voici l'YAML pour un déploiement que je suis en cours d'exécution dans mon projet que je peux éditer en exécutant la commande que j'ai mentionnée ci-dessus:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: "6"
creationTimestamp: 2018-01-30T14:42:48Z
generation: 7
labels:
app: nginx-site-app
name: nginx-site
namespace: default
resourceVersion: "778922"
selfLink: /apis/extensions/v1beta1/namespaces/default/deployments/nginx-site
uid: dc4535333d-05cb-11e8-b5c0-7878748e0178
spec:
replicas: 1
selector:
matchLabels:
app: nginx-site-app
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
creationTimestamp: null
labels:
app: nginx-site-app
spec:
containers:
- image: gcr.io/myprojectid/tuneup-nginx:latest
imagePullPolicy: Always
name: nginx-container
ports:
- containerPort: 80
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
status:
availableReplicas: 1
conditions:
- lastTransitionTime: 2018-01-30T14:55:28Z
lastUpdateTime: 2018-01-30T14:55:28Z
message: Deployment has minimum availability.
reason: MinimumReplicasAvailable
status: "True"
type: Available
observedGeneration: 7
readyReplicas: 1
replicas: 1
updatedReplicas: 1
Si je souhaite ajouter des "Hostaliases" aux pods de ce déploiement, je dois ajouter ces informations à la section SPEC de modèle de POD, comme illustré ci-dessous (remarquez qu'il est conforme aux "conteneurs" (*** IMPORTANT - il convient de noter que Il existe deux sections "SPEC" de mon fichier, je ne souhaite pas l'ajouter à la première section SPEC, mais plutôt la section Spécification du modèle qui définit le modèle de POD):
spec:
containers:
- image: gcr.io/development-project-192309/tuneup-nginx:latest
imagePullPolicy: Always
name: nginx-container
ports:
- containerPort: 80
protocol: TCP
hostAliases:
- ip: 127.0.0.1
hostnames:
- myadded.examplehostname
hostAliases
fait partie du PodSpec
, ce que vous trouvez également dans le déploiement sous spec.template.spec
Dans votre déploiement afin que vous puissiez facilement l'utiliser de la même manière dans votre modèle de spécification POD de déploiement.