Kubernetes Ingress配置中Jenkins服务不存在的问题

111次阅读
没有评论

问题描述

在使用Kubernetes Ingress配置Jenkins时遇到了问题。他按照一个指南进行了配置,但在访问Jenkins时出现了问题。他在/etc/hosts中更新了Jenkins所在节点的IP地址,但是通过http://jenkins.localdomain无法访问Jenkins。他想知道自己漏掉了什么。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

根据提供的配置文件,问题可能出在Ingress配置中的端口号。在ingress.yaml文件中,将端口号改为8080,因为jenkins-service服务在集群内部是在该端口上运行的。NodePort是集群节点上的一个端口,用于处理Ingress流量。NodePort通常用于与集群外部的负载均衡解决方案配合使用。
以下是修改后的ingress.yaml文件的内容:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: jenkins-ingress
  namespace: devops-tools
  annotations:
    traefik.ingress.kubernetes.io/router.entrypoints: 'websecure'
    traefik.ingress.kubernetes.io/router.tls: 'true'
spec:
  rules:
    - host: jenkins.localdomain
      http:
        paths:
          - pathType: Prefix
            path: /
            backend:
              service:
                name: jenkins-service
                port:
                  number: 8080

方案2

如果方案1无效,可以尝试使用其他方法来解决问题。
根据用户的反馈,方案1可能无效。另一种方法是使用其他工具或方法来管理Ingress配置。你可以尝试使用Portainer等工具来管理Ingress配置,或者编写自定义脚本来处理Ingress配置。
请注意,这些方法可能需要更多的配置和调试,具体取决于你的环境和需求。

正文完