1

Google Container Engine 内で nexus3 を実行したいと考えています。

永続ディスクを作成し、次のデプロイ ファイルを構成しました。

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: nexus3
  labels:
    app: nexus3
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nexus3
  template:
    metadata:
      labels:
        app: nexus3
        tier: web
    spec:
      containers:
      - image: gcr.io/nexustest-182520/nexus3:3.6.0
        name: nexus3
        volumeMounts:
        - mountPath: /nexus-data
          name: nexus3-persistent-storage
        ports:
        - containerPort: 8081
      volumes:
      - name: nexus3-persistent-storage
        gcePersistentDisk:
          pdName: nexus3-disk
          fsType: ext4

展開は次の問題で失敗します。

kubectl get pods -o=wide
NAME                      READY     STATUS    RESTARTS   AGE       IP           NODE
nexus3-1260341461-mj7rf   0/1       Error     2          36s       x.x.x.x   gke-nexus-cluster-default-pool-9a58e4f2-p1t9


kubectl describe po/nexus3-1260341461-mj7rf
[...]
Events:
  FirstSeen LastSeen    Count   From                            SubObjectPath       Type        Reason          Message
  --------- --------    -----   ----                            -------------       --------    ------          -------
  1m        1m      1   default-scheduler                               Normal      Scheduled       Successfully assigned nexus3-1260341461-mj7rf to gke-nexus-cluster-default-pool-9a58e4f2-p1t9
  1m        1m      1   kubelet, gke-nexus-cluster-default-pool-9a58e4f2-p1t9               Normal      SuccessfulMountVolume   MountVolume.SetUp succeeded for volume "default-token-gsnbn"
  1m        1m      1   kubelet, gke-nexus-cluster-default-pool-9a58e4f2-p1t9               Normal      SuccessfulMountVolume   MountVolume.SetUp succeeded for volume "nexus3-persistent-storage"
  1m        12s     4   kubelet, gke-nexus-cluster-default-pool-9a58e4f2-p1t9   spec.containers{nexus3} Normal      Pulled          Container image "gcr.io/nexustest-182520/nexus3:3.6.0" already present on machine
  1m        12s     4   kubelet, gke-nexus-cluster-default-pool-9a58e4f2-p1t9   spec.containers{nexus3} Normal      Created         Created container
  1m        12s     4   kubelet, gke-nexus-cluster-default-pool-9a58e4f2-p1t9   spec.containers{nexus3} Normal      Started         Started container
  56s       8s      4   kubelet, gke-nexus-cluster-default-pool-9a58e4f2-p1t9   spec.containers{nexus3} Warning     BackOff         Back-off restarting failed container
  56s       8s      4   kubelet, gke-nexus-cluster-default-pool-9a58e4f2-p1t9               Warning     FailedSync      Error syncing pod

nexus自体が起動できないため、再起動が発生すると思います。ログでこれを見つけました:

mkdir: cannot create directory '../sonatype-work/nexus3/log': Permission denied

Unable to update instance pid: Unable to create directory /nexus-data/instances

私の間違いはどこですか?nexus がディスクとフォルダに書き込めるようにするには、何をする必要がありますか?

ベスト、ラース

4

1 に答える 1