5

小さな kubernetes (1.3) クラスター (基本的には 1 つのノード) があり、そこに gogs をインストールしたいと考えています。Gogs は、Helm を使用して「インストール」されます。Helm チャートに次のテンプレートがあります。

  • デプロイ (イメージ gogs:0.9.97 を使用、containerPort 3000 (http) と 2222 (ssh) を持つ)
  • Ingress (ポート 80 のみ)
  • サービス (ポート 80 (http) および 2222 (ssh))

http-stuff は正しく構成されており、コンテナーと含まれている git-repositories に http 経由で問題なくアクセスできます。ここで、git 接続にも ssh を使用したいと思います。nginx-ingress の --tcp-services-configmap 構成を試しましたが、役に立ちませんでした。Ingress Controller のログには、構成されたサービスにアクティブなエンドポイントがないことが示されています。これは、http が機能しているため、かなり奇妙に感じます。

アップデート

DNS で nmap を実行したところ、ポート 2222 が開いていません。これは設定の問題のようです。コンテナーでポートが開いている (ndoe からクラスター IP に接続してテスト済み)。

問題は、設定されたサービスにアクティブなエンドポイントがないことが Ingress Controller のログに記録されていることだと思います。

私のサービス構成は次のとおりです。

apiVersion: v1
kind: Service
metadata:
    name: {{ template "fullname" . }}
    labels:
        app: {{ template "fullname" . }}
spec:
    ports:
       - name: http
         port: 80
         targetPort: http
         protocol: TCP
       - name: ssh
         port: 2222
         targetPort: ssh
         protocol: TCP
     selector:
         app: {{ template "fullname" . }}

構成マップは次のとおりです。

apiVersion: v1
kind: ConfigMap
metadata:
    name: tcp-configmap-ssh
data:
    2222: "default/{{ template "fullname" . }}:2222"
4

1 に答える 1