-
Notifications
You must be signed in to change notification settings - Fork 972
[KYUUBI #4557][HELM] Kyuubi server should bind Pod IP by default #4561
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
Conversation
Codecov Report
@@ Coverage Diff @@
## master #4561 +/- ##
============================================
- Coverage 53.29% 53.19% -0.11%
Complexity 13 13
============================================
Files 573 573
Lines 31498 31498
Branches 4237 4237
============================================
- Hits 16788 16756 -32
- Misses 13129 13161 +32
Partials 1581 1581 see 10 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
|
I've tested it quickly and it doesn't work if I install Kyuubi chart and try to connect from Intellij IDEA using helm install kyuubi charts/kyuubi
...
kubectl port-forward svc/kyuubi-thrift-binary 10009:10009 -n default
Forwarding from 127.0.0.1:10009 -> 10009
Forwarding from [::1]:10009 -> 10009
Handling connection for 10009
E0320 10:16:55.856000 18444 portforward.go:406] an error occurred forwarding 10009 -> 10009: error forwarding port 10009 to pod 790be50024590075e03f7f0540e464838943ac6ebc370d440836a3de4535f60f, uid : exit status 1: 2023/03/20 09:16:56 socat[8520] E connect(5, AF=2 127.0.0.1:10009, 16): Connection refused
E0320 10:16:55.857032 18444 portforward.go:234] lost connection to pod |
|
Do you see the similar log I pasted in the PR description? Does it bind to Pod IP or something else in your case? |
|
Yes, there is IP instead of hostname: INFO org.apache.kyuubi.server.KyuubiTBinaryFrontendService: Starting and exposing JDBC connection at: jdbc:hive2://10.244.0.11:10009/
INFO org.apache.kyuubi.ha.client.zookeeper.ZookeeperDiscoveryClient: Created a /kyuubi/serviceUri=10.244.0.11:10009;version=1.7.0;sequence=0000000000 on ZooKeeper for KyuubiServer uri: 10.244.0.11:10009
INFO org.apache.kyuubi.ha.client.KyuubiServiceDiscovery: Service[KyuubiServiceDiscovery] is started. |
Not sure, specified address help or not? |
|
I reproduce the issue in Mac m1 Minikube Cluster with follow command. kubectl port-forward kyuubi-7957995b66-8w4sn 10009:10009
# and start another term run
./bin/beeline -u "jdbc:hive2://127.0.0.1:10009/;#spark.master=local"The port forward occurred And find some same issue kubernetes/kubectl#1363. |
|
Based on [1], So there is an issue for |
|
@pan3793 Hi, I deployed with my chart and in EKS cluster. kubectl port-forward (localhost) and k8s service(pod ip) works on why not use |
Then the registered service info becomes |
Let's go forward and merge the change because |
|
LGTM |
### _Why are the changes needed?_ Fix #4557. ### _How was this patch tested?_ - [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible - [x] Add screenshots for manual tests if appropriate After changing, the Kyuubi Server correctly binds the Pod IP. ``` KyuubiTBinaryFrontendService#64 - Starting and exposing JDBC connection at: jdbc:hive2://10.88.224.214:10009/ ``` - [ ] [Run test](https://kyuubi.readthedocs.io/en/master/develop_tools/testing.html#running-tests) locally before make a pull request Closes #4561 from pan3793/helm-host. Closes #4557 018a3a0 [Cheng Pan] [KYUUBI #4557][HELM] Kyuubi server should bind Pod IP by default Authored-by: Cheng Pan <chengpan@apache.org> Signed-off-by: Cheng Pan <chengpan@apache.org> (cherry picked from commit dbb741f) Signed-off-by: Cheng Pan <chengpan@apache.org>
|
Thanks all! Merged to master/1.7 |
|
I think Helm chart notes had been wrong from this commit. kyuubi/charts/kyuubi/templates/NOTES.txt Lines 33 to 34 in dbb741f
Can we delete this note or update this note if |
|
@phyyou good catch, I forget this place. Now, the Would you like to send a follow up PR to update it? |
|
Thanks, @pan3793 . I'm glad I could help. Regarding the conditional expression in NOTES.txt, I think it would be great to have it if it's feasible. I'm definitely interested in contributing more to the improvement of the Helm chart. I'll send a follow-up PR with the changes and other improvements that I have in mind. I think I can improve the |
Please go ahead, Kyuubi community is open to different thoughts, we appreciate the efforts of all contributors. |
|
Thanks @pan3793. I went to just too far 😂... |
…S.txt - Fix Stale Docs URL in Helm Chart - ~~Update kyuubiDefaults structure~~ - Update NOTES.txt - When kyuubi.kyuubiConf.kyuubiDefaults."kyuubi.frontend.bind.host" set localhost, render port-forward example in NOTES.txt for development usage guide - ~~Add extraFiles for config mount~~ - ~~extraFiles for another file mount in kyuubi conf directory.~~ ### _Why are the changes needed?_ Based on #4561 (comment) > I think Helm chart notes had been wrong from this commit. >https://github.com/apache/kyuubi/blob/dbb741fc5b0d2fd4b0640ff70ea12aca75864166/charts/kyuubi/templates/NOTES.txt#L33-L34 > Can we delete this note or update this note if `--address` option is work like this? : > ```suggestion > - To access {{ $.Release.Name }}-{{ $name | kebabcase }} service from outside the cluster for debugging, run the following > > > command: > kubectl port-forward svc/{{ $.Release.Name }}-{{ $name | kebabcase }} {{ tpl $frontend.service.port $ }}:{{ tpl >?> >$frontend.service.port $ }} -n {{ $.Release.Namespace }} --address <your-ip> > ``` ~~and more changes:~~ - ~~Update `.Values.kyuubiConf.kyuubiDefaults` to dict for more variant usage in templates. (like NOTES.txt changes)~~ - ~~Add extraFiles in configmap for like mounting hive-site-xml on kyuubi config directory.~~ ### _How was this patch tested?_ - [x] [Run test](https://kyuubi.readthedocs.io/en/master/develop_tools/testing.html#running-tests) locally before make a pull request Closes #4589 from phyyou/feat/helm-chart-improve. Closes #4589 d7ee29e [phyyou] Fix regex when no equal sign 0b86f28 [phyyou] Update condition for edge case 4edf904 [phyyou] chore aabe93c [PHYYOU] Update kyuubiDefaults example guide in Helm Chart 4de8964 [phyyou] Add README.md for Kyuubi Helm Chart (It from airflow chart README.md) abacd32 [phyyou] Add Example Usecases in kyuubiConf ebcb231 [phyyou] Update empty string to nil 2533a93 [phyyou] Revert extraFiles 56fa525 [phyyou] Revert kyuubiConf Structure Update Update NOTES.txt for Reverted values 966e74c [phyyou] fix: template => include 03d6984 [phyyou] Fix: Add EOF e6affdd [phyyou] Add extraFiles for config mount b0963fd [phyyou] Update NOTES.txt; ac9766a [phyyou] Update kyuubiDefaults structure 77eaa05 [phyyou] Fix Stale Docs URL Lead-authored-by: phyyou <gydudwls@gmail.com> Co-authored-by: PHYYOU <34825352+phyyou@users.noreply.github.com> Signed-off-by: Cheng Pan <chengpan@apache.org>
…S.txt - Fix Stale Docs URL in Helm Chart - ~~Update kyuubiDefaults structure~~ - Update NOTES.txt - When kyuubi.kyuubiConf.kyuubiDefaults."kyuubi.frontend.bind.host" set localhost, render port-forward example in NOTES.txt for development usage guide - ~~Add extraFiles for config mount~~ - ~~extraFiles for another file mount in kyuubi conf directory.~~ ### _Why are the changes needed?_ Based on #4561 (comment) > I think Helm chart notes had been wrong from this commit. >https://github.com/apache/kyuubi/blob/dbb741fc5b0d2fd4b0640ff70ea12aca75864166/charts/kyuubi/templates/NOTES.txt#L33-L34 > Can we delete this note or update this note if `--address` option is work like this? : > ```suggestion > - To access {{ $.Release.Name }}-{{ $name | kebabcase }} service from outside the cluster for debugging, run the following > > > command: > kubectl port-forward svc/{{ $.Release.Name }}-{{ $name | kebabcase }} {{ tpl $frontend.service.port $ }}:{{ tpl >?> >$frontend.service.port $ }} -n {{ $.Release.Namespace }} --address <your-ip> > ``` ~~and more changes:~~ - ~~Update `.Values.kyuubiConf.kyuubiDefaults` to dict for more variant usage in templates. (like NOTES.txt changes)~~ - ~~Add extraFiles in configmap for like mounting hive-site-xml on kyuubi config directory.~~ ### _How was this patch tested?_ - [x] [Run test](https://kyuubi.readthedocs.io/en/master/develop_tools/testing.html#running-tests) locally before make a pull request Closes #4589 from phyyou/feat/helm-chart-improve. Closes #4589 d7ee29e [phyyou] Fix regex when no equal sign 0b86f28 [phyyou] Update condition for edge case 4edf904 [phyyou] chore aabe93c [PHYYOU] Update kyuubiDefaults example guide in Helm Chart 4de8964 [phyyou] Add README.md for Kyuubi Helm Chart (It from airflow chart README.md) abacd32 [phyyou] Add Example Usecases in kyuubiConf ebcb231 [phyyou] Update empty string to nil 2533a93 [phyyou] Revert extraFiles 56fa525 [phyyou] Revert kyuubiConf Structure Update Update NOTES.txt for Reverted values 966e74c [phyyou] fix: template => include 03d6984 [phyyou] Fix: Add EOF e6affdd [phyyou] Add extraFiles for config mount b0963fd [phyyou] Update NOTES.txt; ac9766a [phyyou] Update kyuubiDefaults structure 77eaa05 [phyyou] Fix Stale Docs URL Lead-authored-by: phyyou <gydudwls@gmail.com> Co-authored-by: PHYYOU <34825352+phyyou@users.noreply.github.com> Signed-off-by: Cheng Pan <chengpan@apache.org> (cherry picked from commit 0ebedda) Signed-off-by: Cheng Pan <chengpan@apache.org>
Why are the changes needed?
Fix #4557.
How was this patch tested?
Add some test cases that check the changes thoroughly including negative and positive cases if possible
Add screenshots for manual tests if appropriate
After changing, the Kyuubi Server correctly binds the Pod IP.