Узел GKE с модпробом - PullRequest
       12

Узел GKE с модпробом

0 голосов
/ 08 июля 2019

Есть ли способ загрузить какой-либо модуль ядра (в моем случае «modprobe nfsd») автоматически после запуска / обновления узлов или в GKE?Мы запускаем серверный модуль NFS в нашем кластере kubernetes, и он умирает после каждого обновления GKE

Пробовал как образы cos, так и ubuntu, по-видимому, ни на одном из них не загружен nfsd по умолчанию.

Также пробовалкак-то так, но, похоже, он не делает то, что должен:

kind: DaemonSet
apiVersion: extensions/v1beta1
metadata:
  name: nfsd-modprobe
  labels:
    app: nfsd-modprobe
spec:
  template:
    metadata:
      labels:
        app: nfsd-modprobe
    spec:
      hostPID: true
      containers:
        - name: nfsd-modprobe
          image: gcr.io/google-containers/startup-script:v1
          imagePullPolicy: Always
          securityContext:
            privileged: true
          env:
          - name: STARTUP_SCRIPT
            value: |
              #! /bin/bash

              modprobe nfs
              modprobe nfsd
              while true; do sleep 1; done

1 Ответ

0 голосов
/ 08 июля 2019

По умолчанию вы не можете загружать модули из контейнера, потому что исключение компонентов ядра является одной из основных причин, по которой контейнеры легкие и переносимые.Вам нужно загрузить модуль из хост-ОС, чтобы сделать его доступным внутри контейнера.Это означает, что вы можете просто запустить скрипт, который включает нужные вам модули ядра после каждого обновления GKE.

Однако существует несколько хакерский способ для загрузки модулей ядра из контейнера докера.Все сводится к запуску вашего контейнера с повышенными привилегиями и доступом к определенным каталогам хоста.Вам следует попробовать это, если вы действительно хотите монтировать модули ядра, находясь внутри контейнера.

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