0

我正在尝试使用 minikube 在 kubernetes 容器内设置 jenkins 服务器。跟进这方面的文档,我有以下 kubernetes 配置。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: jenkins
spec:
  replicas: 1
  selector:
    matchLabels:
      app: jenkins
  template:
    metadata:
      labels:
        app: jenkins
    spec:
      containers:
      - name: jenkins
        image: jenkins/jenkins:lts
        ports:
          - name: http-port
            containerPort: 8080
          - name: jnlp-port
            containerPort: 50000
---
apiVersion: v1
kind: Service
metadata:
  name: jenkins-service
spec: 
  selector:
    app: jenkins
  ports: 
   - protocol: TCP
     port: 8080
     targetPort: 8080 
--- 
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata: 
  name: jenkins-ingress
  annotations:  
    nginx.ingress.kubernetes.io/default-backend: ingress-nginx-controller
    kubernetes.io/ingress.class: nginx
    ## tells ingress to check for regex in the config file
    nginx.ingress.kubernetes.io/use-regex: "true"
spec: 
  rules: 
    - http:
        paths:
        - path: /?(.*)
          pathType: Prefix
          backend:
            service:
              name: jenkins-service
              port: 
                number: 8080  

我正在尝试为它创建一个部署(pod)、服务和一个入口来公开它。我使用 kubectl get ingress 获得了入口的 IP 地址,如下所示:

NAME              CLASS    HOSTS   ADDRESS   PORTS   AGE
jenkins-ingress   <none>   *                 80      5s
jenkins-ingress   <none>   *       192.168.49.2   80      5s

当我尝试在浏览器中打开 192.168.49.2 时,我得到了超时。当我尝试从终端 ping 这个 IP 地址时,也会发生同样的情况。在 minikube 中启用了入口插件,当我描述入口时,我看到以下内容:

Name:             jenkins-ingress
Namespace:        default
Address:          192.168.49.2
Default backend:  default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
  Host        Path  Backends
  ----        ----  --------
  *           
              /?(.*)   jenkins-service:8080 (172.17.0.4:8080)
Annotations:  kubernetes.io/ingress.class: nginx
              nginx.ingress.kubernetes.io/default-backend: ingress-nginx-controller
              nginx.ingress.kubernetes.io/use-regex: true
Events:
  Type    Reason  Age                    From                      Message
  ----    ------  ----                   ----                      -------
  Normal  Sync    6m15s (x2 over 6m20s)  nginx-ingress-controller  Scheduled for sync

有人可以帮我做错什么吗?如何通过浏览器访问 jenkins 实例?

4

0 回答 0