Как использовать идентификатор экземпляра в конфигурационном файле Daemonset в Kubernetes? - PullRequest
0 голосов
/ 05 февраля 2019

Я хотел бы получить идентификатор экземпляра (например, идентификатор экземпляра AWS EC2, например, i-19a9fa9s8df9a8, а не имя частного узла dns), где мой модуль запускается из моего файла конфигурации k8s, но не смог найти никакой документациио том, как это сделать.Кто-нибудь знает, как использовать поле reportingInstance в https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.13/#event-v1-core?

Я получаю эту ошибку:

The DaemonSet  is invalid:
spec.template.spec.containers[0].env[8].valueFrom.fieldRef.fieldPath: 
Invalid value: "core.reportingInstance": 
error converting fieldPath: field label not supported: core.reportingInstance

Вот что я пытался:

    - name: INSTANCE_ID
      valueFrom:
        fieldRef:
          fieldPath: core.reportingInstance

У меня уже есть это в моем файле yaml, но это дает личное имя DNS, а не идентификатор экземпляра

   - name: NODE_NAME
      valueFrom:
        fieldRef:
          fieldPath: spec.nodeName

1 Ответ

0 голосов
/ 05 февраля 2019

Позвольте мне ответить на это с моим пониманием вашего вопроса.Я думаю, вы хотите, чтобы значение вашего имени узла было установлено как переменная env в вашем контейнере.Если это правда, вы можете использовать приведенный ниже код для этого

 - name: Node_Name
      valueFrom:
        fieldRef:
          fieldPath: spec.nodeName

Если вы хотите получить некоторую другую информацию о стручках или контейнерах, пожалуйста, поймите, что вы можете получить только ограниченную информацию в контейнере, используя нисходящий API, и это ограниченополе ниже.

 fieldRef     <Object>
 Selects a field of the pod: supports metadata.name, metadata.namespace,
 metadata.labels, metadata.annotations, spec.nodeName,
 spec.serviceAccountName, status.hostIP, status.podIP.


resourceFieldRef     <Object>
 Selects a resource of the container: only resources limits and requests
 (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu,
 requests.memory and requests.ephemeral-storage) are currently supported.
...