kubernetesポッドからconfigmapをフェッチする方法

如意宝珠

Dockerコンテナで1つのSpringBootマイクロサービスを実行しています。以下はDockerfileです。

FROM java:8-jre
MAINTAINER <>
WORKDIR deploy/
#COPY config/* /deploy/config/
COPY ./ms.console.jar /deploy/
CMD chmod +R 777 ./ms.console.jar
CMD ["java","-jar","/deploy/ms.console.jar","console"]
EXPOSE 8384

ここで、私の構成は外部フォルダーに保存されます。つまり/config/console-server.yml、アプリケーションを起動すると、内部で構成が読み込まれます(スプリングブート機能)。

ここで、configmapを使用してこの構成を分離したいと思います。そのため、1つのconfigmapを作成し、すべての構成の詳細を保存しました。

kubectl create configmap console-configmap --from-file = ./ config / console-server.yml

kubectl describe configmap console-configmap

以下は説明の詳細です。

Name:         console-configmap
Namespace:    default
Labels:       <none>
Annotations:  <none>

Data
====
console-server.yml:
----
server:
  http:
    port: 8385
  compression:
    enabled: true
    mime-types: application/json,application/xml,text/html,text/xml,text/plain,text/css,application/javascript
    min-response-size: 2048

---
spring:
  thymeleaf:
    prefix: classpath:/static
  application:
    name: console-service
  profiles:
     active: native
  servlet:
    multipart:
      max-file-size: 30MB
      max-request-size: 30MB
---
host:
  gateway: http://apigateway:4000
  webhook: http://localhost:9000

私のデプロイメントymlは次のとおりです。

apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1
kind: Deployment
metadata:
  name: consoleservice1
spec:
  selector:
    matchLabels:
      app: consoleservice
  replicas: 1 # tells deployment to run 3 pods matching the template
  template: # create pods using pod definition in this template
    metadata:
      labels:
        app: consoleservice
    spec:
      containers:
      - name: consoleservice
        image: ms-console
        ports:
        - containerPort: 8384
        imagePullPolicy: Always
        envFrom:
        - configMapRef:
            name: console-configmap
      imagePullSecrets:
        - name: regcresd

私の疑問は、Dockerfileのconfigフォルダーにコメントしたので、ポッドの実行中に、構成がないために例外がスローされます。このconsole-configmapをデプロイメントに挿入する方法、すでに共有しようとしたものですが、同じ問題が発生します。

マラティ

まず、アプリケーションで.ymlファイルをどのように使用していますか?ymlファイルの内容を環境変数として使用する場合、構成は正常に機能するはずです。しかし、コンテナ内の設定ファイルの内容を利用したいと思います。その場合は、次のようにconfigmapからボリュームを作成する必要があります。


apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1
kind: Deployment
metadata:
  name: consoleservice1
spec:
  selector:
    matchLabels:
      app: consoleservice
  replicas: 1 # tells deployment to run 3 pods matching the template
  template: # create pods using pod definition in this template
    metadata:
      labels:
        app: consoleservice
    spec:
      containers:
      - name: consoleservice
        image: ms-console
        ports:
        - containerPort: 8384
        imagePullPolicy: Always
        volumeMounts:
          - mountPath: /app/config
            name: config
      volumes:
        - name: config
          configMap:
            name: console-configmap
      imagePullSecrets:
        - name: regcresd

ファイルはパスで利用可能になります/app/config/console-server.yml必要に応じて変更する必要があります。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

ギルド全体からメッセージをフェッチする方法

分類Dev

ポッドからkubernetesジョブを作成する方法

分類Dev

MessageReactionAddEventからメッセージをフェッチする方法

分類Dev

マップから値をフェッチする方法は?

分類Dev

kubernetesで、更新されたconfigmapを使用するようにポッドを更新する方法

分類Dev

c#XMLドキュメントからtargetNamespaceをフェッチする方法

分類Dev

Kubernetes-kubernetesのポッドから別のポッドにデータを送信する方法

分類Dev

whatsappfileproviderからtxtファイルをフェッチする方法

分類Dev

反応コンポーネントからバックエンドにフェッチポストリクエストを送信する方法

分類Dev

Angular6のHTTPResponsePOSTメソッドから特定のフィールドをフェッチする方法

分類Dev

別のリポジトリからのGITフェッチ-正しいタグをプッシュする方法

分類Dev

firebase datasnapshotからデータをフェッチする方法は?

分類Dev

xcdatamodeldからフェッチ要求を使用する方法?

分類Dev

JSONARRAY内のJSONOBJECTから値をフェッチする方法は?

分類Dev

テーブルから1行をフェッチする方法

分類Dev

if else条件から値をフェッチする方法は?

分類Dev

plpgsql関数から結果をフェッチする方法

分類Dev

PHPでstdClassから値をフェッチする方法は?

分類Dev

Angularでnodejsからデータをフェッチする方法

分類Dev

フェッチでselectからの値を使用する方法

分類Dev

PHPのURLから単語をフェッチする方法は?

分類Dev

Javaリストから値をフェッチする方法

分類Dev

C#でJSONからキーをフェッチする方法

分類Dev

DBからJSONデータをフェッチする方法は?

分類Dev

asynctaskからmainactivityに結果をフェッチする方法

分類Dev

URLからarrayListに画像をフェッチする方法

分類Dev

cognitoapi応答からphone_noをフェッチする方法

分類Dev

URLからjsonをフェッチするノード

分類Dev

フォームのPOSTメソッドから1つのチェックボックスを使用する方法

Related 関連記事

  1. 1

    ギルド全体からメッセージをフェッチする方法

  2. 2

    ポッドからkubernetesジョブを作成する方法

  3. 3

    MessageReactionAddEventからメッセージをフェッチする方法

  4. 4

    マップから値をフェッチする方法は?

  5. 5

    kubernetesで、更新されたconfigmapを使用するようにポッドを更新する方法

  6. 6

    c#XMLドキュメントからtargetNamespaceをフェッチする方法

  7. 7

    Kubernetes-kubernetesのポッドから別のポッドにデータを送信する方法

  8. 8

    whatsappfileproviderからtxtファイルをフェッチする方法

  9. 9

    反応コンポーネントからバックエンドにフェッチポストリクエストを送信する方法

  10. 10

    Angular6のHTTPResponsePOSTメソッドから特定のフィールドをフェッチする方法

  11. 11

    別のリポジトリからのGITフェッチ-正しいタグをプッシュする方法

  12. 12

    firebase datasnapshotからデータをフェッチする方法は?

  13. 13

    xcdatamodeldからフェッチ要求を使用する方法?

  14. 14

    JSONARRAY内のJSONOBJECTから値をフェッチする方法は?

  15. 15

    テーブルから1行をフェッチする方法

  16. 16

    if else条件から値をフェッチする方法は?

  17. 17

    plpgsql関数から結果をフェッチする方法

  18. 18

    PHPでstdClassから値をフェッチする方法は?

  19. 19

    Angularでnodejsからデータをフェッチする方法

  20. 20

    フェッチでselectからの値を使用する方法

  21. 21

    PHPのURLから単語をフェッチする方法は?

  22. 22

    Javaリストから値をフェッチする方法

  23. 23

    C#でJSONからキーをフェッチする方法

  24. 24

    DBからJSONデータをフェッチする方法は?

  25. 25

    asynctaskからmainactivityに結果をフェッチする方法

  26. 26

    URLからarrayListに画像をフェッチする方法

  27. 27

    cognitoapi応答からphone_noをフェッチする方法

  28. 28

    URLからjsonをフェッチするノード

  29. 29

    フォームのPOSTメソッドから1つのチェックボックスを使用する方法

ホットタグ

アーカイブ