Я устанавливаю jenkins
на GKE, используя официальный график helm .
Я также устанавливаю вход nginx
также через стабильный график helm и после создания stati c IP на GCE следующим образом:
gcloud compute addresses create jenkins-static-ip --global --ip-version IPV4
Я передаю вышеуказанный IP значениям nginx -ingress:
helm upgrade --force --tls --install nginx-ingress stable/nginx-ingress --set rbac.create=true --set controller.service.loadBalancerIP=<jenkins-static-ip>
Я также для доступа к услуге jenkins
используется префикс /jenkins
.
И входной контроллер, и входной ресурс создаются следующим образом:
kubectl get svc nginx-ingress-controller -n default -o json
{
"apiVersion": "v1",
"kind": "Service",
"metadata": {
"creationTimestamp": "2020-02-12T09:54:50Z",
"labels": {
"app": "nginx-ingress",
"chart": "nginx-ingress-1.29.6",
"component": "controller",
"heritage": "Tiller",
"release": "nginx-ingress"
},
"name": "nginx-ingress-controller",
"namespace": "default",
"resourceVersion": "35664441",
"selfLink": "/api/v1/namespaces/default/services/nginx-ingress-controller",
"uid": "b6029772-4d7d-11ea-aa7f-42010a79fa0b"
},
"spec": {
"clusterIP": "10.19.150.227",
"externalTrafficPolicy": "Cluster",
"loadBalancerIP": "13.579.24.68",
"ports": [
{
"name": "http",
"nodePort": 30508,
"port": 80,
"protocol": "TCP",
"targetPort": "http"
},
{
"name": "https",
"nodePort": 32756,
"port": 443,
"protocol": "TCP",
"targetPort": "https"
}
],
"selector": {
"app": "nginx-ingress",
"component": "controller",
"release": "nginx-ingress"
},
"sessionAffinity": "None",
"type": "LoadBalancer"
},
"status": {
"loadBalancer": {}
}
}
kubectl get ingress my-jenkins -n jenkins -o yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
creationTimestamp: "2020-02-12T09:54:54Z"
generation: 1
labels:
app.kubernetes.io/component: jenkins-master
app.kubernetes.io/instance: my-jenkins
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/name: jenkins
helm.sh/chart: jenkins-1.9.16
name: my-jenkins
namespace: jenkins
resourceVersion: "35664516"
selfLink: /apis/extensions/v1beta1/namespaces/jenkins/ingresses/my-jenkins
uid: b8604a30-4d7d-11ea-aa7f-42010a79fa0b
spec:
rules:
- http:
paths:
- backend:
serviceName: my-jenkins
servicePort: 8080
path: /jenkins
status:
loadBalancer: {}
Однако я не могу получить доступ к jenkins
по любому из следующих URL:
http://13.579.24.68
https://13.579.24.68
http://13.579.24.68/jenkins
https://13.579.24.68/jenkins
edit : я добавил аннотацию к своему ресурсу ingress
, но результат остается то же самое:
▶ k get ingress my-jenkins -n jenkins -o yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
creationTimestamp: "2020-02-12T16:00:40Z"
generation: 1
labels:
app.kubernetes.io/component: jenkins-master
app.kubernetes.io/instance: my-jenkins
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/name: jenkins
helm.sh/chart: jenkins-1.9.16
name: my-jenkins
namespace: jenkins
resourceVersion: "35776360"
selfLink: /apis/extensions/v1beta1/namespaces/jenkins/ingresses/my-jenkins
uid: d1405c90-4db0-11ea-aa7f-42010a79fa0b
spec:
rules:
- http:
paths:
- backend:
serviceName: my-jenkins
servicePort: 8080
path: /jenkins
status:
loadBalancer: {}
Есть идеи, почему это происходит?