9

私がやっているdockerイメージがあります

docker run --name test -h test -p 9043:9043 -p 9443:9443 -d ibmcom/websphere-traditional:install

kubernetes デプロイ ファイルに入れようとしていますが、これがあります。

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: websphere
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: websphere
    spec:
      containers:
      - name: websphere
        image: ibmcom/websphere-traditional:install
        ports:
        - containerPort: 9443
        resources:
          requests: 
            memory: 500Mi
            cpu: 0.5
          limits:
            memory: 500Mi
            cpu: 0.5
        imagePullPolicy: Always

私のservice.yaml

apiVersion: v1
kind: Service
metadata:
  name: websphere
  labels:
    app: websphere
spec:
  type: NodePort #Exposes the service as a node ports
  ports:
  - port: 9443
    protocol: TCP
    targetPort: 9443
  selector:
    app: websphere

展開ファイルで 2 つのポートをマップする方法についてのガイダンスはありますか?

4

2 に答える 2

9

必要な数のポートを追加できます。

ここにあなたのdeployment.yml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: websphere
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: websphere
    spec:
      containers:
      - name: websphere
        image: ibmcom/websphere-traditional:install
        ports:
        - containerPort: 9043
        - containerPort: 9443
        resources:
          requests: 
            memory: 500Mi
            cpu: 0.5
          limits:
            memory: 500Mi
            cpu: 0.5
        imagePullPolicy: IfNotPresent

ここにあなたのservice.yml

apiVersion: v1
kind: Service
metadata:
  name: websphere
  labels:
    app: websphere
spec:
  type: NodePort #Exposes the service as a node ports
  ports:
  - port: 9043
    name: hello
    protocol: TCP
    targetPort: 9043
    nodePort: 30043
  - port: 9443
    name: privet
    protocol: TCP
    targetPort: 9443
    nodePort: 30443
  selector:
    app: websphere

kubernetes の構成で、nodePorts の範囲を確認しますapi-server(通常は です30000-32767が、構成可能です)。

編集

deployment.yml からresourcesセクションを削除すると、正しく開始されます (約 5 分後)。ここにログのスニペットがあります:

[9/10/18 8:08:06:004 UTC] 00000051 webcontainer I com.ibm.ws.webcontainer.VirtualHostImpl addWebApplication SRVE0250I: Web モジュールのデフォルト Web アプリケーションが default_host にバインドされました[ :9080、 :80、:9443、 :506 0、:5061、 :443]。

証明書が原因で (私は traefik でイングレスを使用しています)、それに接続する際に問題が発生します (私は推測します):

[9/10/18 10:15:08:413 UTC] 000000a4 SSLHandshakeE E SSLC0008E: SSL 接続を初期化できません。不正アクセスが拒否されたか、セキュリティ設定の有効期限が切れています。例外は javax.net.ssl.SSLException です: 認識できない SSL メッセージ、プレーンテキスト接続?

それを解決するには (私はこれ以上は進めませんでした)、これが役立つかもしれません: SSLHandshakeE E SSLC0008E: SSL 接続を初期化できません。不正アクセスが拒否されたか、セキュリティ設定の有効期限が切れています

と接続しようとしていport-forwardます:

ここに画像の説明を入力

dthe ブラウザを使用して接続すると、次のページが表示されます。

ここに画像の説明を入力

于 2018-09-09T16:10:02.840 に答える