KubernetesとDockerDestop forWindowsを使用して永続ボリュームを設定する

Nick Orlowski

Docker Desktop forWindowsで実行されているK8sの永続ボリュームをセットアップしようとしています。最終的な目標は、Jenkinsを実行し、docker / K8sがスピンダウンしても作業を失わないようにすることです。

私はいくつかのことを試しましたが、これを行う能力を誤解しているか、何か間違った設定をしています。現在、私は次のような環境設定をしています。

JenkinsのDockerにボリュームを設定しました。ボリュームを作成するだけで、ここでさらに構成が必要かどうかはわかりません。

docker volume inspect jenkins-pv
[
    {
        "CreatedAt": "2020-05-20T16:02:42Z",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/jenkins-pv/_data",
        "Name": "jenkins-pv",
        "Options": {},
        "Scope": "local"
    }
]

また、Dockerボリュームのマウントポイントを指す永続ボリュームをK8sで作成し、デプロイしました。

apiVersion: v1
kind: PersistentVolume
metadata:
  name: jenkins-pv-volume
  labels:
    type: hostPath
spec:
  storageClassName: manual
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Delete
  hostPath:
    path: "/var/lib/docker/volumes/jenkins-pv/_data"

また、pvクレームを作成し、それを展開しました。

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: jenkins-pv-claim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi

最後に、Jenkinsのデプロイメントを作成しました。動作することを確認し、アプリにアクセスできるようになりました。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: jenkins-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: jenkins-app
  template:
    metadata:
      labels:
        app: jenkins-app
    spec:
      containers:
      - name: jenkins-pod
        image: jenkins/jenkins:2.237-alpine
        ports:
        - containerPort: 50000
        - containerPort: 8080
        volumeMounts:
        - name: jenkins-pv-volume
          mountPath: /var/lib/docker/volumes/jenkins-pv/_data
      volumes:
      - name: jenkins-pv-volume
        persistentVolumeClaim:
          claimName: jenkins-pv-claim

ただし、データはDockerを終了しても保持されないため、起動するたびにJenkinsを再構成する必要があります。私は何かを逃しましたか、または私がしようとしていることは不可能ですか?これを行うためのより良いまたはより簡単な方法はありますか?

ありがとう!

Nick Orlowski

私は自分の問題を理解しました、それは2つありました。

  1. Jenkinsを実行していたポッド内の間違った場所からデータを保存しようとしていました。
  2. Docker共有フォルダーにデータを書き戻すことはありませんでした。

これを機能させるために、Dockerに共有フォルダー(C:\ DockerShare)を作成しました。次に、永続ボリュームのホストパスを更新しました。形式は/ host_mnt / path_to_docker_shared_folder_locationです。C:\ DockerShareを使用したので、パスは/ host_mnt / c / DockerShareです。

apiVersion: v1
kind: PersistentVolume
metadata:
  name: jenkins
  labels:
    type: hostPath
spec:
  storageClassName: manual
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  hostPath:
    path: /host_mnt/c/DockerShare/jenkins

また、実際には構成を保存していなかったため、Jenkinsデプロイメントを更新する必要がありました。/ var / jenkins_homeからデータを保存する必要がありました

展開は次のようになります。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: jenkins
spec:
  replicas: 1
  selector:
    matchLabels:
      app: jenkins-app
  template:
    metadata:
      labels:
        app: jenkins-app
    spec:
      containers:
      - name: jenkins-pod
        image: jenkins/jenkins:2.237-alpine
        ports:
        - containerPort: 50000
        - containerPort: 8080
        volumeMounts:
        - name: jenkins
          mountPath: /var/jenkins_home
      volumes:
      - name: jenkins
        persistentVolumeClaim:
          claimName: jenkins

とにかく今は機能していて、PVのセットアップに関して他の誰かに役立つことを願っています。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Kubernetes-ローカルハードドライブを永続ボリュームとして使用する

分類Dev

Kubernetesランナーを使用してGitlabでMavenの永続ボリュームを追加する方法

分類Dev

モニターをプライマリとして永続的に設定する

分類Dev

モニターをプライマリとして永続的に設定する

分類Dev

Dockerfileとそのボリューム内の永続的なヘルパーファイルを使用してイメージを作成するDocker

分類Dev

AWS EFSとReadWriteManyを使用して永続ボリュームの要求を構成するにはどうすればよいですか?

分類Dev

マラソンとメソで永続ボリュームを使用してDocker内でjenkinsを実行する際のアクセス許可エラー

分類Dev

kubernetesクラスターでelasticsearchを永続ボリュームとして作成できません

分類Dev

kubernetes永続ボリュームのディスク使用量を監視する方法は?

分類Dev

Kubernetesの永続ボリュームに接続していますか?

分類Dev

DockerボリュームとKubernetes永続ボリューム

分類Dev

手動でプロビジョニングされたAzure管理対象ディスクをKubernetes永続ボリュームとして使用するように構成するにはどうすればよいですか?

分類Dev

ルークボリュームを使用すると、kubernetesノードが再起動し続ける

分類Dev

Kubernetesを使用してホームディレクトリファイルを新しい永続ボリュームにコピーするにはどうすればよいですか?

分類Dev

Dockerにマウントされた永続ボリュームをバインドする方法は?DockerでSonarqubeを実行しようとしています

分類Dev

データベースに使用したEBS永続ボリュームを削除せずにkopsを使用してkubernetesクラスターを削除するにはどうすればよいですか?

分類Dev

kubernetesでポッドと永続ボリュームを共同で検索

分類Dev

ダッシュボードをGrafanaのホームとして設定する

分類Dev

kubernetesのPgadmin4:ユーザーと設定をボリュームに保存する

分類Dev

kubernetes永続ボリュームをuwsgiアプリケーションに割り当てることができません

分類Dev

GKEのKubernetes永続ボリュームストアにファイルを配置する

分類Dev

永続的なボリュームクレームを複数のポッドと共有する

分類Dev

Kubernetesデプロイメントのレプリカごとに異なる永続ボリュームをバインドする

分類Dev

JPAはブールフィールドを整数として永続化するように設定します

分類Dev

emptyDirを使用してkubernetesにボリュームをマウントする方法

分類Dev

Kubernetes:ノードはバインドに使用できる永続ボリュームを見つけられませんでした

分類Dev

永続ボリュームを作成すると、storageclass.storage.k8s.io「fast」が見つかりません

分類Dev

永続ボリュームを作成すると、storageclass.storage.k8s.io「fast」が見つかりません

分類Dev

*信頼性の高い*永続ボリュームにPVとPVCを使用するにはどうすればよいですか?

Related 関連記事

  1. 1

    Kubernetes-ローカルハードドライブを永続ボリュームとして使用する

  2. 2

    Kubernetesランナーを使用してGitlabでMavenの永続ボリュームを追加する方法

  3. 3

    モニターをプライマリとして永続的に設定する

  4. 4

    モニターをプライマリとして永続的に設定する

  5. 5

    Dockerfileとそのボリューム内の永続的なヘルパーファイルを使用してイメージを作成するDocker

  6. 6

    AWS EFSとReadWriteManyを使用して永続ボリュームの要求を構成するにはどうすればよいですか?

  7. 7

    マラソンとメソで永続ボリュームを使用してDocker内でjenkinsを実行する際のアクセス許可エラー

  8. 8

    kubernetesクラスターでelasticsearchを永続ボリュームとして作成できません

  9. 9

    kubernetes永続ボリュームのディスク使用量を監視する方法は?

  10. 10

    Kubernetesの永続ボリュームに接続していますか?

  11. 11

    DockerボリュームとKubernetes永続ボリューム

  12. 12

    手動でプロビジョニングされたAzure管理対象ディスクをKubernetes永続ボリュームとして使用するように構成するにはどうすればよいですか?

  13. 13

    ルークボリュームを使用すると、kubernetesノードが再起動し続ける

  14. 14

    Kubernetesを使用してホームディレクトリファイルを新しい永続ボリュームにコピーするにはどうすればよいですか?

  15. 15

    Dockerにマウントされた永続ボリュームをバインドする方法は?DockerでSonarqubeを実行しようとしています

  16. 16

    データベースに使用したEBS永続ボリュームを削除せずにkopsを使用してkubernetesクラスターを削除するにはどうすればよいですか?

  17. 17

    kubernetesでポッドと永続ボリュームを共同で検索

  18. 18

    ダッシュボードをGrafanaのホームとして設定する

  19. 19

    kubernetesのPgadmin4:ユーザーと設定をボリュームに保存する

  20. 20

    kubernetes永続ボリュームをuwsgiアプリケーションに割り当てることができません

  21. 21

    GKEのKubernetes永続ボリュームストアにファイルを配置する

  22. 22

    永続的なボリュームクレームを複数のポッドと共有する

  23. 23

    Kubernetesデプロイメントのレプリカごとに異なる永続ボリュームをバインドする

  24. 24

    JPAはブールフィールドを整数として永続化するように設定します

  25. 25

    emptyDirを使用してkubernetesにボリュームをマウントする方法

  26. 26

    Kubernetes:ノードはバインドに使用できる永続ボリュームを見つけられませんでした

  27. 27

    永続ボリュームを作成すると、storageclass.storage.k8s.io「fast」が見つかりません

  28. 28

    永続ボリュームを作成すると、storageclass.storage.k8s.io「fast」が見つかりません

  29. 29

    *信頼性の高い*永続ボリュームにPVとPVCを使用するにはどうすればよいですか?

ホットタグ

アーカイブ