Есть ли способ получить UID в спецификации? - PullRequest
0 голосов
/ 04 сентября 2018

Что я хочу сделать, так это предоставить pod унифицированное хранилище журналов, которое в настоящее время сохраняется в hostPath, но я также хочу этот путь, включая UID, чтобы я мог легко получить его путь после уничтожения pod.

Например:

apiVersion: v1
kind: Pod
metadata:
  name: pod-with-logging-support
spec:
  containers:
  - image: python:2.7
    name: web-server
    command:
    - "sh"
    - "-c"
    - "python -m SimpleHTTPServer > /logs/http.log 2>&1"
    volumeMounts:
    - mountPath: /logs
      name: log-dir
  volumes:
  - name: log-dir
    hostPath:
      path: /var/log/apps/{metadata.uid}
      type: DirectoryOrCreate

metadata.uid - это то, что я хочу заполнить, но я не знаю, как это сделать.

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

После поиска документа в kubernetes я, наконец, вижу решение для моей конкретной проблемы. Эта функция именно то, что я хотел.

Так что я могу создать стручок с

apiVersion: v1
kind: Pod
metadata:
  name: pod-with-logging-support
spec:
  containers:
  - image: python:2.7
    name: web-server
    command:
    - "sh"
    - "-c"
    - "python -m SimpleHTTPServer > /logs/http.log 2>&1"
    env:
    - name: POD_UID
      valueFrom:
        fieldRef:
          apiVersion: v1
          fieldPath: metadata.uid
    volumeMounts:
    - mountPath: /logs
      name: log-dir
      subPath: $(POD_UID)
  volumes:
  - name: log-dir
    hostPath:
      path: /var/log/apps/
      type: DirectoryOrCreate
0 голосов
/ 04 сентября 2018

Для регистрации лучше использовать другую стратегию.

Предлагаю вам посмотреть эту ссылку .

Ваши журналы лучше всего обрабатываются, если они передаются на стандартный вывод и захватываются агентом, как показано на этом рисунке:

enter image description here

Не сохраняйте журнал в файловой системе, а собирайте их с помощью агента и собирайте их для дальнейшего анализа.

Свободно очень популярен и заслуживает того, чтобы его знали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...