我有一个小的kubernetes(1.3)集群(基本上是一个节点),并希望在那里安装gogs . 使用Helm“安装”Gogs . 我的掌舵图中有以下模板:
-
部署(使用图像gogs:0.9.97,具有containerPort 3000(http)以及2222(ssh)
-
Ingress(这仅适用于80号港口)
-
服务(端口80(http)以及2222(ssh))
http-stuff配置正确,我可以通过http访问容器以及包含的git-repositories,没有任何问题 . 现在我想将ssh用于git-connections . 我尝试了nginx-ingress的--tcp-services-configmap配置,但无济于事 . Ingress Controller的日志表明,配置的服务没有任何活动 endpoints ,我觉得这很奇怪,因为http的东西正在工作 .
UPDATE
我刚刚在DNS上做了一个nmap,端口2222没有打开 . 这看起来像一个配置问题 . 端口在容器上打开(通过从ndoe连接到群集ip进行测试) .
猜测问题是Ingress Controller的日志表明配置的服务没有任何活动 endpoints .
我的服务配置是:
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"
1 回答
回答我自己的问题 . 这个问题是一个配置问题,由我自己的错误引起 .
基本上我没有发布Nginx-Ingress资源的ReplicationController . 这个丢失了端口2222.所以现在看起来像: