mirror of https://github.com/helm/helm
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
main
dev-v3
copilot/backport-reflect-pointer-change
release-4.0
release-3.19
gjenkins8-patch-2
release-3.18
release-3.17
revert-toml-change
revert-13534-dev-v3-12987
add-lfx-insights
release-3.16
revert-11726-fixDepUpPerformance
release-3.15
dependabot/go_modules/k8s-io-4a36690ef2
release-3.14
release-3.13
release-3.12
release-3.11
release-3.10
Release
release-3.9
release-3.8
release-3.7
release-3.6
release-3.6.2
release-3.6.1
release-3.5
release-3.4
add-codeql
dev-v2
release-2.17
release-3.3
release-2.16
release-3.2
release-3.1
release-3.0
release-2.15
release-v3.0.0-beta.4
release-2.14
release-2.13
release-2.12
release-2.11
release-2.10
feat-v3/event-emitter-lua
release-2.9
release-2.8
release-2.7
release-2.6
release-2.5
release-2.4
release-2.3
release-2.2
release-2.1
release-2.0
kube-update-test
release-v1.2.1
v4.0.4
v3.19.4
v4.0.2
v3.19.3
v4.0.1
v3.19.2
v4.0.0
v3.19.1
v4.0.0-rc.1
v4.0.0-beta.2
v4.0.0-beta.1
v3.19.0
v3.19.0-rc.1
v4.0.0-alpha.1
v3.18.6
v3.18.5
v3.17.4
v3.18.4
v3.18.3
v3.18.2
v3.18.1
v3.18.0
v3.18.0-rc.2
v3.18.0-rc.1
v3.17.3
v3.17.2
v3.17.1
v3.17.0
v3.17.0-rc.1
v3.16.4
v3.16.3
v3.16.2
v3.16.1
v3.16.0
v3.16.0-rc.1
v3.15.4
v3.15.3
v3.15.2
v3.15.1
v3.15.0
v3.15.0-rc.2
v3.15.0-rc.1
v3.14.4
v3.14.3
v3.14.2
v3.14.1
v3.14.0
v3.14.0-rc.1
v3.13.3
v3.13.2
v3.13.1
v3.13.0
v3.13.0-rc.1
v3.12.3
v3.12.2
v3.12.1
v3.12.0
v3.12.0-rc.1
v3.11.3
v3.11.2
v3.12.0-dev.1
v3.11.1
v3.11.0
v3.11.0-rc.2
v3.11.0-rc.1
v3.10.3
v3.10.2
v3.10.1
v3.10.0
v3.10.0-rc.1
v3.9.4
v3.9.3
v3.9.2
v3.9.1
v3.9.0
v3.9.0-rc.1
v3.8.2
v3.8.1
v3.8.0
v3.8.0-rc.2
v3.8.0-rc.1
v3.7.2
v3.7.1
v3.7.0
v3.7.0-rc.3
v3.7.0-rc.2
v3.7.0-rc.1
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.6.0-rc.1
v3.5.4
v3.5.3
v3.5.2
v3.5.1
v3.5.0
v3.5.0-rc.2
v3.5.0-rc.1
v3.4.2
v3.4.1
v3.4.0
v2.17.0
v3.4.0-rc.1
v2.17.0-rc.1
v3.3.4
v2.16.12
v3.3.3
v2.16.11
v3.3.2
v3.3.1
v2.16.10
v3.3.0
v3.3.0-rc.2
v3.3.0-rc.1
v2.16.9
v3.2.4
v2.16.8
v3.2.3
v3.2.2
v3.2.1
v2.16.7
v3.1.3
v3.2.0
v3.2.0-rc.1
v2.16.6
v2.16.5
v2.16.4
v3.1.2
v3.1.1
v2.16.3
v2.16.2
v3.1.0
v3.1.0-rc.3
v3.1.0-rc.2
v3.1.0-rc.1
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v2.16.1
v3.0.0-rc.4
v3.0.0-rc.3
v2.16.0
v3.0.0-rc.2
v2.16.0-rc.2
v2.16.0-rc.1
v3.0.0-rc.1
v2.15.2
v2.15.1
v3.0.0-beta.5
v2.15.0
v2.15.0-rc.2
v2.15.0-rc.1
v3.0.0-beta.4
v3.0.0-beta.3
v3.0.0-beta.2
v3.0.0-beta.1
v2.14.3
v3.0.0-alpha.2
v2.14.2
v2.14.1
v3.0.0-alpha.1
v2.14.0
v2.14.0-rc.2
v2.14.0-rc.1
v2.13.1
v2.13.1-rc.1
v2.13.0
v2.13.0-rc.2
v2.13.0-rc.1
v2.12.3
v2.12.2
v2.12.1
v2.12.0
v2.12.0-rc.2
v2.12.0-rc.1
v2.11.0
v2.11.0-rc.4
v2.11.0-rc.3
v2.11.0-rc.2
v2.11.0-rc.1
v2.10.0
v2.10.0-rc.3
v2.10.0-rc.2
v2.10.0-rc.1
v2.9.1
v2.9.0
v2.9.0-rc5
v2.9.0-rc4
v2.9.0-rc3
v2.9.0-rc2
v2.9.0-rc1
v2.8.2
v2.8.2-rc1
v2.8.1
v2.8.0
v2.8.0-rc.1
v2.7.2
v2.7.1
v2.7.0
v2.7.0-rc1
v2.6.2
v2.6.1
v2.6.0
v2.5.1
v2.5.0
v2.4.2
v2.4.1
v2.4.0
v2.3.1
v2.3.0
1.999.0
v1.0
v1.1
v1.2
v1.2.1
v2.0.0
v2.0.0-alpha.1
v2.0.0-alpha.2
v2.0.0-alpha.3
v2.0.0-alpha.4
v2.0.0-alpha.5
v2.0.0-beta.1
v2.0.0-beta.2
v2.0.0-rc.1
v2.0.0-rc.2
v2.0.1
v2.0.2
v2.1.0
v2.1.1
v2.1.2
v2.1.3
v2.2.0
v2.2.1
v2.2.2
v2.2.3
${ noResults }
This adds the `--probe=[true|false]` flag to `tiller`, so that you can selectively disable the following probing HTTP endpoints: - `/readiness` - `/liveness` - `/metrics` One of expected use-cases of this feature would be to avoid consuming an extra port per `tiller`, which becomes more problematic in the [tillerless](https://github.com/rimusz/helm-tiller) setup. The default is `--probe=true`, which starts the probing endpoints as before. Implementation-wise, I intentionally made it so that the number of changed lines is as small as possible. That is, I opted not to factor out the probes server starting logic into its own function, like `startProbesServer`. Instead, I just added conditionals to the logging part and the server starting part. As it isn't easily E2E testable, I've verified it to work by running the following commands manually. With probing enabled(default): ``` $ ./tiller [main] 2019/04/06 09:20:15 Starting Tiller v2.12+unreleased (tls=false) [main] 2019/04/06 09:20:15 GRPC listening on :44134 [main] 2019/04/06 09:20:15 Probes listening on :44135 [main] 2019/04/06 09:20:15 Storage driver is ConfigMap [main] 2019/04/06 09:20:15 Max history per release is 0 ``` With probing disabled, you'll see no tiller is no longer listening on 44135: ``` $ ./tiller --probe=false [main] 2019/04/06 09:20:07 Starting Tiller v2.12+unreleased (tls=false) [main] 2019/04/06 09:20:07 GRPC listening on :44134 [main] 2019/04/06 09:20:07 Storage driver is ConfigMap [main] 2019/04/06 09:20:07 Max history per release is 0 ``` To ensure that tiller can disable the probing endpoints, I ran multiple tillers at once, with/without `--probe=false`: The first test runs three tillers without `--probe=false`. As expected, it results in two tillers failes due to the conflicting port, as you can see in the message `Probes server died: listen tcp :44135: bind: address already in use`. ``` $ bash -c 'for i in {0..2}; do (./tiller --listen=:$((44136+$i)) 2>&1 | sed "s/^/tiller $i: /" )& done; sleep 3 ; pkill tiller' tiller 1: [main] 2019/04/06 09:57:49 Starting Tiller v2.12+unreleased (tls=false) tiller 1: [main] 2019/04/06 09:57:49 GRPC listening on :44137 tiller 1: [main] 2019/04/06 09:57:49 Probes listening on :44135 tiller 1: [main] 2019/04/06 09:57:49 Storage driver is ConfigMap tiller 1: [main] 2019/04/06 09:57:49 Max history per release is 0 tiller 0: [main] 2019/04/06 09:57:49 Starting Tiller v2.12+unreleased (tls=false) tiller 0: [main] 2019/04/06 09:57:49 GRPC listening on :44136 tiller 0: [main] 2019/04/06 09:57:49 Probes listening on :44135 tiller 0: [main] 2019/04/06 09:57:49 Storage driver is ConfigMap tiller 0: [main] 2019/04/06 09:57:49 Max history per release is 0 tiller 0: [main] 2019/04/06 09:57:49 Probes server died: listen tcp :44135: bind: address already in use tiller 2: [main] 2019/04/06 09:57:49 Starting Tiller v2.12+unreleased (tls=false) tiller 2: [main] 2019/04/06 09:57:49 GRPC listening on :44138 tiller 2: [main] 2019/04/06 09:57:49 Probes listening on :44135 tiller 2: [main] 2019/04/06 09:57:49 Storage driver is ConfigMap tiller 2: [main] 2019/04/06 09:57:49 Max history per release is 0 tiller 2: [main] 2019/04/06 09:57:49 Probes server died: listen tcp :44135: bind: address already in use ``` The second test runs three tillers with `--probe=false`. It results in all tillers running without errors, that indicates this feature is working as expected: ``` $ bash -c 'for i in {0..2}; do (./tiller --listen=:$((44136+$i)) --probe=false 2>&1 | sed "s/^/tiller $i: /" )& done; sleep 3 ; pkill tiller' tiller 1: [main] 2019/04/06 09:58:18 Starting Tiller v2.12+unreleased (tls=false) tiller 1: [main] 2019/04/06 09:58:18 GRPC listening on :44137 tiller 1: [main] 2019/04/06 09:58:18 Storage driver is ConfigMap tiller 1: [main] 2019/04/06 09:58:18 Max history per release is 0 tiller 2: [main] 2019/04/06 09:58:18 Starting Tiller v2.12+unreleased (tls=false) tiller 2: [main] 2019/04/06 09:58:18 GRPC listening on :44138 tiller 2: [main] 2019/04/06 09:58:18 Storage driver is ConfigMap tiller 2: [main] 2019/04/06 09:58:18 Max history per release is 0 tiller 0: [main] 2019/04/06 09:58:18 Starting Tiller v2.12+unreleased (tls=false) tiller 0: [main] 2019/04/06 09:58:18 GRPC listening on :44136 tiller 0: [main] 2019/04/06 09:58:18 Storage driver is ConfigMap tiller 0: [main] 2019/04/06 09:58:18 Max history per release is 0 ``` Resolves #3159 Signed-off-by: Yusuke KUOKA <ykuoka@gmail.com> |
7 years ago | |
|---|---|---|
| .. | ||
| helm | Merge pull request #4871 from flant/fix-no-resource-with-the-name-found | 7 years ago |
| rudder | Fix `no RESOURCE with the name NAME found` | 7 years ago |
| tiller | feat: tiller probing endpoints can be disabled | 7 years ago |