Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How ingress-nginx image was built? #10946

Closed
guyni opened this issue Jan 30, 2024 · 6 comments
Closed

How ingress-nginx image was built? #10946

guyni opened this issue Jan 30, 2024 · 6 comments
Labels
needs-kind Indicates a PR lacks a `kind/foo` label and requires one. needs-priority needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.

Comments

@guyni
Copy link

guyni commented Jan 30, 2024

I don't see the /etc/ingress-controller/geoip and /etc/ingress-controller/telemetry folder in the registry.k8s.io/ingress-nginx/controller:v1.9.6 image. I am wondering if you use the Dockerfile below to build that image.

https://github.com/kubernetes/ingress-nginx/blob/controller-v1.9.6/rootfs/Dockerfile#L54-L55

$ docker run --entrypoint sh --rm -it registry.k8s.io/ingress-nginx/controller:v1.9.6
/etc/nginx $ ls -l /etc/ingress-controller/
total 8
drwxr-xr-x 2 www-data www-data 4096 Jan 19 20:21 auth
drwxr-xr-x 2 www-data www-data 4096 Jan 19 20:21 ssl

@k8s-ci-robot k8s-ci-robot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Jan 30, 2024
@k8s-ci-robot
Copy link
Contributor

This issue is currently awaiting triage.

If Ingress contributors determines this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot k8s-ci-robot added needs-kind Indicates a PR lacks a `kind/foo` label and requires one. needs-priority labels Jan 30, 2024
@longwuyuan
Copy link
Contributor

I think there was a PR to move from geoip to geoip2. If you search the PRs then you may find it. That could contain some info on this.

Otel is now a addon module.

@guyni
Copy link
Author

guyni commented Jan 31, 2024

regardless if geoip and otel were moved or not. If I check out the controller-v1.9.6 tag to build the image by myself, I can see the /etc/ingress-controller/geoip and /etc/ingress-controller/telemetry folders, which are not in registry.k8s.io/ingress-nginx/controller:v1.9.6. If I replaced the ingress controller binary in registry.k8s.io/ingress-nginx/controller:v1.9.6 with the one that I built, it would complain those folders were missing and exit. So I am wondering if registry.k8s.io/ingress-nginx/controller:v1.9.6 was built from controller-v1.9.6 tag, or other release tag.

@longwuyuan
Copy link
Contributor

1.9. is built from v1.9.6 branch and not main

@longwuyuan
Copy link
Contributor

% k cluster-info                                         
Kubernetes control plane is running at https://127.0.0.1:41021
CoreDNS is running at https://127.0.0.1:41021/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
[~/Documents/github/longwuyuan/ingress-nginx] release-1.9
% k -n ingress-nginx exec -ti ingress-nginx-controller-5bc879d9f8-4bsjz -- sh
/etc/nginx $ ls -l /etc/ingress-controller/
total 8                                                  
drwxr-xr-x    2 www-data www-data      4096 Feb  1 03:07 auth
drwxr-xr-x    1 www-data www-data      4096 Feb  1 03:33 ssl
/etc/nginx $ find / -name "*geoip*"
/usr/bin/geoiplookup
/usr/bin/geoiplookup6

@strongjz
Copy link
Member

strongjz commented Feb 1, 2024

main is to allow us to merge changes but not break release branches; we cherry-pick what we want in a release to the release branch.

The nginx base image is built here https://github.com/kubernetes/ingress-nginx/tree/main/images/nginx

And the controller is build https://github.com/kubernetes/ingress-nginx/tree/main/rootfs

Each image is built in cloud build with the make build commands and promoted to the k8s.io registry

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-kind Indicates a PR lacks a `kind/foo` label and requires one. needs-priority needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.
Projects
Development

No branches or pull requests

4 participants