Skip to content

Commit ba7cf82

Browse files
loomtsapecloud-bot
authored andcommitted
chore: improve ck memberjoin (#2431)
Co-authored-by: loomts <loomts@users.noreply.github.com> (cherry picked from commit 04ca7e1)
1 parent accb07b commit ba7cf82

File tree

13 files changed

+231
-176
lines changed

13 files changed

+231
-176
lines changed

addons-cluster/clickhouse/templates/cluster-tls-secrets.yaml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
11
{{- if and .Values.tls.enabled (eq .Values.tls.issuer "UserProvided") }}
2+
{{- $clusterName := include "kblib.clusterName" . }}
3+
{{- $namespace := .Release.Namespace }}
4+
{{- $svcNames := list (printf "%s-clickhouse" $clusterName) (printf "%s-ch-keeper" $clusterName) }}
5+
{{- $clusterDomain := "cluster.local" }}
6+
{{- $dnsNames := list "localhost" }}
7+
{{- range $svc := $svcNames }}
8+
{{- $dnsNames = concat $dnsNames (list
9+
$svc
10+
(printf "%s.%s.svc" $svc $namespace)
11+
(printf "*.%s-headless.%s.svc.%s" $svc $namespace $clusterDomain)
12+
) }}
13+
{{- end }}
214
{{- $ca := genCA "KubeBlocks" 36500 }}
3-
{{- $cert := genSignedCert "clickhouse" (list "127.0.0.1" "::1") (list "localhost" "*.cluster.local") 36500 $ca }}
15+
{{- $cert := genSignedCert "clickhouse" (list "127.0.0.1" "::1") $dnsNames 36500 $ca }}
416
apiVersion: v1
517
kind: Secret
618
metadata:
@@ -12,4 +24,4 @@ stringData:
1224
ca.crt: {{ $ca.Cert | quote }}
1325
tls.crt: {{ $cert.Cert | quote }}
1426
tls.key: {{ $cert.Key | quote }}
15-
{{- end }}
27+
{{- end }}

addons/clickhouse/README.md

Lines changed: 75 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,14 @@ type: Opaque
411411
data:
412412
password: cGFzc3dvcmQxMjM= # 'password123' in base64
413413
---
414-
# pre generated tls secret
414+
# pre generated tls secret using helm template
415+
# Generated by: helm template clickhouse-tls addons-cluster/clickhouse --namespace demo --set tls.enabled=true --set tls.issuer=UserProvided --set tls.secretName=clickhouse-cluster-tls
416+
# Certificate SANs include:
417+
# DNS: localhost, clickhouse-tls-clickhouse, clickhouse-tls-clickhouse.demo.svc,
418+
# *.clickhouse-tls-clickhouse-headless.demo.svc.cluster.local,
419+
# clickhouse-tls-ch-keeper, clickhouse-tls-ch-keeper.demo.svc,
420+
# *.clickhouse-tls-ch-keeper-headless.demo.svc.cluster.local
421+
# IP: 127.0.0.1, ::1
415422
apiVersion: v1
416423
kind: Secret
417424
metadata:
@@ -421,77 +428,78 @@ type: Opaque
421428
stringData:
422429
ca.crt: |
423430
-----BEGIN CERTIFICATE-----
424-
MIIDCzCCAfOgAwIBAgIUBjoE02lIYlEl2RDjOp9T9wmP1TUwDQYJKoZIhvcNAQEL
425-
BQAwFTETMBEGA1UEAwwKS3ViZUJsb2NrczAeFw0yNTEyMjMwMzQ5NDhaFw0zNTEy
426-
MjEwMzQ5NDhaMBUxEzARBgNVBAMMCkt1YmVCbG9ja3MwggEiMA0GCSqGSIb3DQEB
427-
AQUAA4IBDwAwggEKAoIBAQDhkMhIKhwKFi5xtK5dXVrucJ23ABqeoDTq9uBoCIV6
428-
hAcfvsv9AMBGWqn7NbcdKN8eYQ97M4qBRsFxR5FAfq2F5ecfgFWVElWd3IAc1RRD
429-
E9sLeVGbhdwk91OwG41Mo0BuSvBYZXT0wHz8EIYGoB5B5vx2kpQC7mGWqeonNlBJ
430-
4uFdKy1oL+5lWHVK1DBGqB+h9X3nH317ERNCQuOnvrho3Hs6SajOHv25MROUIcTg
431-
4WiESCY+SX8MVyDnJjw4+qlMl9fdxSH+s56FrF0MzcgpB1rcIwd67sdElj0abBeo
432-
llaMNv3asEyvNJJR20qGPLonznLPN8mqhzsPKW30qwQrAgMBAAGjUzBRMB0GA1Ud
433-
DgQWBBR1By3uWSRlgL4ABYM5vVRbKTNakjAfBgNVHSMEGDAWgBR1By3uWSRlgL4A
434-
BYM5vVRbKTNakjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAa
435-
cmhCy+8xaMIn+icqqVL9mzUThMtYEPul6GjGrUqad9FC9/K9P+FDUbgPHre775IE
436-
Sgb0LdpBATCgR+MZLWXtq7p7rnfgCpsrPhV5Trf/AF/qhmyhS4M3M2f1i+AID043
437-
l/VcFUVKPQm3jtjs3klGhTgg/KtE7jD6wFSa8f3LzrNWBI0Ls/yrwgZ4cEx1ur+I
438-
iVUpC6n2+5UIBY1mm81w4TWSn6dr0kqQmxJJ4kPxrTU4XKhs+YOJ9XOiF7nUT6iy
439-
OeR4mm4Mv97rkMoykZ+ntuRIfYrgpFIIndaiD1856K5vsWtZTDQ7GIwdaBrI/xu6
440-
A7TZ/BvGOKuYuKhgZcwA
431+
MIIDFzCCAf+gAwIBAgIQflqmC1o0WGc+uBpiwIMx2zANBgkqhkiG9w0BAQsFADAV
432+
MRMwEQYDVQQDEwpLdWJlQmxvY2tzMCAXDTI2MDIwNTA5MDc1MFoYDzIxMjYwMTEy
433+
MDkwNzUwWjAVMRMwEQYDVQQDEwpLdWJlQmxvY2tzMIIBIjANBgkqhkiG9w0BAQEF
434+
AAOCAQ8AMIIBCgKCAQEAz4WGIlQ0pvwSVD4mcAy+W2uUlNjRLf+LhKY1xWG9ei8R
435+
06xX4LIieNYZ1K8gjnH8eKcn7SaVztnp6mIsK33zTOu/cg1gLBXZArl5rBj4U79U
436+
VMNR1dgYuLDYACv8fjL1ONxQD29hXIM+riBFQ0SH45HePsYzVN/kbd6zz4wObF/p
437+
KMtB6HpOar/C2xTwbgUKxlCLMY7pJA0R0+7k3Q/Hl0VZi56iOCOpT0PZ3dZRMG8h
438+
vlAaGj3gKYVFvt3ZVTQtynyNiuZsqyd7rnEFaLXgCQ6N33IpfHpbLOfhw4B/GHwx
439+
UsyPgQNZRV3djSioM/wKVk9sOYaOxzpN4q2qlUGJowIDAQABo2EwXzAOBgNVHQ8B
440+
Af8EBAMCAqQwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA8GA1UdEwEB
441+
/wQFMAMBAf8wHQYDVR0OBBYEFOQZ2TSN6S6vslPhLrX+6DR1KJ6HMA0GCSqGSIb3
442+
DQEBCwUAA4IBAQDH1VyjKYaWbZM0MyXp7vF9qAumimjp2I3+nvwUlgM85FJznYSZ
443+
QK2HQosPal3SCJ7fdtx+hbPUhZc+Hq99Jlx69qfHMzeDhqdC395v4fFA0h/N9y8L
444+
YAZcBsdR6kt5B3jculbGOHEJkAnRfuBqKF3WSuIBWoOthDOORksiQOBSL1K5A+1/
445+
YTA/f9xCF6y7iWD0PuW028rtgKVXVO4/pt9UZqqyduo+bhrknPGlhmwaF5fr4nvp
446+
5FyLBc7ufG66TAhcSkdVUm8bUd4aq4qGqmNE38HKbEatQ2cvnDWQdYQLFB4C/rW0
447+
nu6402RpntXT6hOeD9at6K3OWK1+vAcPes1/
441448
-----END CERTIFICATE-----
442449
tls.crt: |
443450
-----BEGIN CERTIFICATE-----
444-
MIID2jCCAsKgAwIBAgIUO4YobiiQDKHCIAItX/nBspRGeoUwDQYJKoZIhvcNAQEL
445-
BQAwFTETMBEGA1UEAwwKS3ViZUJsb2NrczAeFw0yNTEyMjMwMzQ5NDlaFw0zNTEy
446-
MjEwMzQ5NDlaMBkxFzAVBgNVBAMMDmNsaWNraG91c2UtdGxzMIIBIjANBgkqhkiG
447-
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1gpO4/cVUYVkG3zs1HQ8fSh4pOrbrgIQtQQ/
448-
YTT6GsgaJnWaXJqhBQKQMedkhRss2OeEeKzIT+ZzqZjn+tT3OsktekS2Ll0yY+xx
449-
b6O8iBoKrjJq8O2Fot6FwzZUxePeJl5YzUZQvvo6H1ZsMnukPZX3ZMGmo8wijUNS
450-
pFn/R8kIGKzl3ve0r7xe75vu5Vu2lq/vrFAoPhkx8CaRfrEtVc8P9CsKLZMsUWON
451-
9IkzUKrO5tFwG2KMxsfNOgt0W9jN9v3dfgdrbqxCS8gkBETrZf6GGFRqfcEYHjrk
452-
4m+kbHpbjlh674EMqV5jFFCYF14w/CouTT/1BM0E3nhxMBU+TQIDAQABo4IBHDCC
453-
ARgwCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAwgb0GA1UdEQSBtTCBsoIJbG9jYWxo
454-
b3N0gg8qLmNsdXN0ZXIubG9jYWyCGyouY2xpY2tob3VzZS10bHMtY2xpY2tob3Vz
455-
ZYIaKi5jbGlja2hvdXNlLXRscy1jaC1rZWVwZXKCHyouY2xpY2tob3VzZS1jbHVz
456-
dGVyLWNsaWNraG91c2WCHiouY2xpY2tob3VzZS1jbHVzdGVyLWNoLWtlZXBlcoIK
457-
Y2xpY2tob3VzZYIOY2xpY2tob3VzZS10bHMwHQYDVR0OBBYEFGrrWGptkWpmPQje
458-
BhT8uTxAEKlZMB8GA1UdIwQYMBaAFHUHLe5ZJGWAvgAFgzm9VFspM1qSMA0GCSqG
459-
SIb3DQEBCwUAA4IBAQA9hqiYW4EGMdxNq0ODc8J2gwoIk0ancfid+7hhz5J8R8qh
460-
Wd+dNJhXXfNAAZGC2w2xa0MleFsNRJ0roFBRVqIB/Z+ZSjiLtXcDjL8ZqLpU1Jw1
461-
H0WzGnuJqh97hJ6KYF5XTb2Aa2AIZ30Q4RBAQCQmd3N/i+PgHucks7/V5HF29Uw7
462-
AnLtBC1tfZ2uf2fBluFJieUoBtUr0R1S35sQsywMdXhzerzxPkeQauvvFZrjdnG/
463-
vWKVqXK1SAht7TsQ12cTGGCe81O0R3rWKXRzW7htacWUSgZuRHpPJQTZOUJbUn4k
464-
PTzoiR+7y/3Z3N5H0wlLIkyP4qrweJTOs6JIB9XH
451+
MIIEQzCCAyugAwIBAgIQNjtqrPaIjdrpgEu97ckGhDANBgkqhkiG9w0BAQsFADAV
452+
MRMwEQYDVQQDEwpLdWJlQmxvY2tzMCAXDTI2MDIwNTA5MDc1MVoYDzIxMjYwMTEy
453+
MDkwNzUxWjAVMRMwEQYDVQQDEwpjbGlja2hvdXNlMIIBIjANBgkqhkiG9w0BAQEF
454+
AAOCAQ8AMIIBCgKCAQEAnp+yoP+StcTx0pGtwlB21ykBEf7CnJLFcZPshR8xD6Fp
455+
EthmixjBVdaFWU414+Z/6rRkry3zccrt0D6f1b0FAaIsYgqg8kehOl94iZf7h4qq
456+
e3aGMHHtfoqW2t+IGu+XPjyJUZHmBHPJnuWwwAlL1vN0nK/Ffp2YKAFSXm4xiyws
457+
/atAsJscUlJIPnYdg1uYjkokdMW0CmuImN3oYsapQqh3aucbplS5/7GqSM6EheoS
458+
EO5E8xQrDv1b18EM/m0QIxReA2zuWmlgByp6psRtwVJU9f+/es6vMkE3L/4e0WOH
459+
1QemDqdBPTXXCfDKpuoV0D94oS2oDl2/Crh00rLM1QIDAQABo4IBizCCAYcwDgYD
460+
VR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNV
461+
HRMBAf8EAjAAMB8GA1UdIwQYMBaAFOQZ2TSN6S6vslPhLrX+6DR1KJ6HMIIBJQYD
462+
VR0RBIIBHDCCARiCCWxvY2FsaG9zdIIZY2xpY2tob3VzZS10bHMtY2xpY2tob3Vz
463+
ZYIiY2xpY2tob3VzZS10bHMtY2xpY2tob3VzZS5kZW1vLnN2Y4I7Ki5jbGlja2hv
464+
dXNlLXRscy1jbGlja2hvdXNlLWhlYWRsZXNzLmRlbW8uc3ZjLmNsdXN0ZXIubG9j
465+
YWyCGGNsaWNraG91c2UtdGxzLWNoLWtlZXBlcoIhY2xpY2tob3VzZS10bHMtY2gt
466+
a2VlcGVyLmRlbW8uc3ZjgjoqLmNsaWNraG91c2UtdGxzLWNoLWtlZXBlci1oZWFk
467+
bGVzcy5kZW1vLnN2Yy5jbHVzdGVyLmxvY2FshwR/AAABhxAAAAAAAAAAAAAAAAAA
468+
AAABMA0GCSqGSIb3DQEBCwUAA4IBAQAMxS8Oyqa/EXS1f8qU1VzD4R2I0DH+13vM
469+
JjVL840HJTAjubKBkFDP7tKdLw6r1iCapk6DpXyPipBmZgpjNgV9qT9f/edmTxw5
470+
661wz+H8lVPW6uFRdu7h+QV1pY224nV2riX7Vt+1zEg5XcBKTLccE/IR+/yYclS4
471+
F91XPwLD8m3orQCAbA0vlLTlKTs0htjBeD8jotY/AveeZUUqgwUWbhjLwPhy8hZZ
472+
08xkWfM97EbNy62LQgtd+rqElmFQ47xVkFA98lp928yF2J7kmUO8D3F8Ce9willW
473+
YxR3GQRRVS5XXWPde1ew35f8532RxatuZ7WGC5B9o1PRpFPGCLyO
465474
-----END CERTIFICATE-----
466475
tls.key: |
467-
-----BEGIN PRIVATE KEY-----
468-
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDWCk7j9xVRhWQb
469-
fOzUdDx9KHik6tuuAhC1BD9hNPoayBomdZpcmqEFApAx52SFGyzY54R4rMhP5nOp
470-
mOf61Pc6yS16RLYuXTJj7HFvo7yIGgquMmrw7YWi3oXDNlTF494mXljNRlC++jof
471-
Vmwye6Q9lfdkwaajzCKNQ1KkWf9HyQgYrOXe97SvvF7vm+7lW7aWr++sUCg+GTHw
472-
JpF+sS1Vzw/0KwotkyxRY430iTNQqs7m0XAbYozGx806C3Rb2M32/d1+B2turEJL
473-
yCQEROtl/oYYVGp9wRgeOuTib6RseluOWHrvgQypXmMUUJgXXjD8Ki5NP/UEzQTe
474-
eHEwFT5NAgMBAAECggEAKgXeFU3WhqnczLTLPq8PjTcb8K0XsmM/anrKAsjG7ekp
475-
kTF3vASz5mrpapLWnneGZ5OU46hwr5c8UCjwKsQTQhxrbFz/M70ifpHWd6e7BTGv
476-
tSG681B+80ojEv+gxzWE0R2m666JfeVc8fgiyAqUZW8DImoO0IvsoLV+DTyKLUqD
477-
4Vv+r1N0JhW8mfc8qTbnWccs+8e+C9eg/jrMDWv8UGkFLi25ayYS8XFEOYKdppqz
478-
M5/hCSEKPkFz6+/uj1J4UX2jh6mwGKsJoFiueBWuC+ooz9QtgHAhXpifhIF2J8vu
479-
u21Qf6ZlWWPh/20J305xBhL2IU5iqyuAE2Jp2TGLFQKBgQD1pNOowzK6FCR0EHSQ
480-
xkONJWLHDkEEQjyOq+XkXZqzypm9vvVXWv1clNVq1fctS0sLShzp8Z9J48hRLKGR
481-
o/yozTsss++/Bp2qtrdX2wz6eyqbmclJoxhl/Z6XaBcnTKFGYtDHpkCo1dZIDw8g
482-
2yP31t+ODY6yKYajB8vSGiHMowKBgQDfEGRFI9grQyibPAfmW/v/fRG8BtYQE4td
483-
0B/sDjSzq+4patnT1RUQRLfipDG0WBgVTE3tira4L9JqvDi2i1oxTOW/JfKDRk+b
484-
Hblg937tSM/NkOM9kk4YChauB6qV+B08QhxnSOAnWN58UzT8MUIx5LCgwsGObgsW
485-
b4EqC9YITwKBgQCV+6jcfyqm4QuM7kst5lByiuQv4+0gu4ycFCsO73Q42LhcWY8V
486-
YlIWSC2yyKfeOP2+C+dxk/0NMY4quhSAh18KdhzuY4M74L8978gsVWwsOC3AyfpU
487-
Asgv5dYCXiTc8vX5svYFIOaT79ShNMio6ASjG8htxKte7uns+yKgyyHd/wKBgH6a
488-
Aw7qxSnouAdDDwjDdEcRaRtalewR66uXEEcd2POQxV9kcbU03vuYxPUxU7STuzd7
489-
U09ax1HKcpZ5tYaFmO8aQds3Ymj3Yv8a47gRQEzUYny9mvu7Ke+i6jRjzYHIjG9C
490-
5nQIfJBYdA4D+7KXEobW0Ris8MYx1sEpEBoZFaUpAoGARaUzWbazlSPGwA4PpV1a
491-
A7iBBGxrr7R6itswp9C+3rM6zNboDKfA/jgivnVZkH+vEF3Etm+1ic4PTHYxuH8V
492-
MkndnzemaQ5sPLEM/adgInVc/o8WwNiHZ7aFUKduhbpVyUiCCo+e4ILC+XHNJm14
493-
toNEdKxJTK9cBU3TTVma2uk=
494-
-----END PRIVATE KEY-----
476+
-----BEGIN RSA PRIVATE KEY-----
477+
MIIEogIBAAKCAQEAnp+yoP+StcTx0pGtwlB21ykBEf7CnJLFcZPshR8xD6FpEthm
478+
ixjBVdaFWU414+Z/6rRkry3zccrt0D6f1b0FAaIsYgqg8kehOl94iZf7h4qqe3aG
479+
MHHtfoqW2t+IGu+XPjyJUZHmBHPJnuWwwAlL1vN0nK/Ffp2YKAFSXm4xiyws/atA
480+
sJscUlJIPnYdg1uYjkokdMW0CmuImN3oYsapQqh3aucbplS5/7GqSM6EheoSEO5E
481+
8xQrDv1b18EM/m0QIxReA2zuWmlgByp6psRtwVJU9f+/es6vMkE3L/4e0WOH1Qem
482+
DqdBPTXXCfDKpuoV0D94oS2oDl2/Crh00rLM1QIDAQABAoIBAAW6yIHCwYqhysdb
483+
nj5k2CoU79Y10NNFhO7BlFtJoWTKZIh6+xc+pWsjlM0BQ3aQMqIocnOWchLz7Mun
484+
G3Blw7rHoBlJf39I4ZTBcpHrxLjkZBySDy5MSzMVL/ZHeTvZ2Cl2F9Kzta6G/Ssp
485+
ak1BeLUSta1cNwLIEAEv7Qj+q3j2qLVyG8Ps1HQVEuCM0zOwsmW7oUXhjW4NG2uz
486+
hGlKxVrf6r7xNewLEqF95ltPa3hwc5rfxbwgakmwf3A96UxbtH5l5k5QzKA8yv5T
487+
+Z17Fe8m2MyLskjb/1wOs8TLlxLMl00s4xG+Ku7UcE1ujKrpv1YHvVoj/v3GlyqX
488+
VjwH28ECgYEA0zO+nSp51XQvZwo19iwQ0kiMDv+XRP0gQ9TcVX2SskjGaZrSkGms
489+
2JG9QiqclIlNvNCl/sZd2T5fjD3iTlKNzIaX9scfZN/GQNf4xUmeUXIrqzieDDzP
490+
R/8uKF/15uXc2MDBbhH9DgsriFyowCcqpmI4gVVU5Hc6laPLrNmDt8ECgYEAwET0
491+
wO9ehovIbEnwNY9f9f9ycAaZAGJRI2ypLqsAsHqEF51rlgz+GvRKjvjv6cioHaF2
492+
JEhvOakq7EKIy1lVBSXdhSQDd0DKMLelbUqwWk2bTManxIn21hEHquqYqCEzdRz1
493+
mWHVW1f1QmPCt79Deijxbm2Tl7x931T5EvwDOhUCgYAigGd5IUE533sG6CIcjuJI
494+
l9VZdeNuP7OPoSxFQvg966mOAt62/KxhzJ0QPAnMMgni+GrFjf4yyP+u10Uq6k2D
495+
xdD5XVoBjpTCbwWSpQ4Z2/7KP7uB4EU0S7lsmxB+obpMJmDy7Dlcm/KGmixvB3bu
496+
K0lzx07Q67FEVLenCvl7gQKBgGl6Ks9hQfkL3ELT+SxY4GsC3VPpuqwEQ8DsTo/k
497+
jfdC7w5JdQkXTZuZ4wE2Pd+CDgBbYIWdGy+Fx59fDM6JzmOJl1IAJMqaR5GcXets
498+
Kv0PUCA5ZzYh/cEIDK3ODztFI4afAXlIu5Rl1425Tswg6DKvHWvYPzzh0iff5Nhu
499+
WpLVAoGAEwqBym1eP4lxdeIfbM7CfTTQWgStr9pJE+hc7v8pd/wrrHQ12/Q3Ih0+
500+
bwChBJ4y18Hm150+5iVp743Bw94gp/1Kuo/ZLAW18uWAlT51lVl15XuiJCYjFOZt
501+
3Zkx9rnDQpZSZRELXJXhRTem/62a1cqnGXC6WEFfTUlTaPaQ1eo=
502+
-----END RSA PRIVATE KEY-----
495503
496504
```
497505

addons/clickhouse/configs/00_default_overrides.xml.tpl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,9 @@
104104
<server>
105105
<certificateFile>{{$CERT_FILE}}</certificateFile>
106106
<privateKeyFile>{{$KEY_FILE}}</privateKeyFile>
107+
<!--
108+
Use relaxed verification for ClickHouse to skip hostname check, while still supporting TLS encryption.
109+
-->
107110
<verificationMode>relaxed</verificationMode>
108111
<caConfig>{{$CA_FILE}}</caConfig>
109112
<cacheSessions>true</cacheSessions>
@@ -118,7 +121,7 @@
118121
<cacheSessions>true</cacheSessions>
119122
<disableProtocols>sslv2,sslv3</disableProtocols>
120123
<preferServerCiphers>true</preferServerCiphers>
121-
<verificationMode>relaxed</verificationMode>
124+
<verificationMode>strict</verificationMode>
122125
<invalidCertificateHandler>
123126
<name>RejectCertificateHandler</name>
124127
</invalidCertificateHandler>

addons/clickhouse/configs/ch_keeper_00_default_overrides.xml.tpl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,9 @@
8383
<server>
8484
<certificateFile>{{$CERT_FILE}}</certificateFile>
8585
<privateKeyFile>{{$KEY_FILE}}</privateKeyFile>
86+
<!--
87+
Use relaxed verification for Keeper to skip hostname check, while still supporting TLS encryption.
88+
-->
8689
<verificationMode>relaxed</verificationMode>
8790
<caConfig>{{$CA_FILE}}</caConfig>
8891
<cacheSessions>true</cacheSessions>
@@ -97,7 +100,7 @@
97100
<cacheSessions>true</cacheSessions>
98101
<disableProtocols>sslv2,sslv3</disableProtocols>
99102
<preferServerCiphers>true</preferServerCiphers>
100-
<verificationMode>relaxed</verificationMode>
103+
<verificationMode>strict</verificationMode>
101104
<invalidCertificateHandler>
102105
<name>RejectCertificateHandler</name>
103106
</invalidCertificateHandler>

addons/clickhouse/configs/client.xml.tpl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
<config>
2-
<user>admin</user>
2+
<user from_env="CLICKHOUSE_ADMIN_USER"/>
33
<password from_env="CLICKHOUSE_ADMIN_PASSWORD"/>
44
{{- if eq (index $ "TLS_ENABLED") "true" -}}
55
{{- $CA_FILE := "/etc/pki/tls/ca.pem" -}}
66
{{- $CERT_FILE := "/etc/pki/tls/cert.pem" -}}
77
{{- $KEY_FILE := "/etc/pki/tls/key.pem" }}
88
<secure>true</secure>
9+
<port from_env="CLICKHOUSE_TCP_SECURE_PORT"/>
910
<openSSL>
1011
<client>
1112
<caConfig>{{$CA_FILE}}</caConfig>
13+
<certificateFile>{{$CERT_FILE}}</certificateFile>
14+
<privateKeyFile>{{$KEY_FILE}}</privateKeyFile>
1215
</client>
1316
</openSSL>
1417
{{- end }}
Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
#!/bin/bash
22
set -euo pipefail
33

4-
HOST="127.0.0.1"
5-
SCHEME="http"
64
PORT="${CLICKHOUSE_HTTP_PORT:-8123}"
7-
8-
wget_args=(
9-
-O /dev/null
10-
-q
11-
-T 3
12-
--tries=1
5+
CURL_ARGS=(
6+
-sf
7+
--max-time 3
8+
"http://127.0.0.1:${PORT}/ping"
139
)
1410

1511
if [[ "${TLS_ENABLED:-false}" == "true" ]]; then
16-
SCHEME="https"
1712
PORT="${CLICKHOUSE_HTTPS_PORT:-8443}"
18-
wget_args+=(--no-check-certificate)
13+
CURL_ARGS=(
14+
-sf
15+
--max-time 3
16+
--cacert /etc/pki/tls/ca.pem
17+
--cert /etc/pki/tls/cert.pem
18+
--key /etc/pki/tls/key.pem
19+
"https://127.0.0.1:${PORT}/ping"
20+
)
1921
fi
2022

21-
endpoint="${SCHEME}://${HOST}:${PORT}/ping"
22-
23-
if ! /shared-tools/wget "${wget_args[@]}" "${endpoint}"; then
24-
echo "Readiness probe failed accessing ${endpoint}" >&2
23+
if ! /shared-tools/curl "${CURL_ARGS[@]}" >/dev/null; then
24+
echo "Readiness probe failed" >&2
2525
exit 1
2626
fi

addons/clickhouse/scripts/common.sh

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,9 @@ function keeper_run() {
4343
--query "$query"
4444
)
4545
if [[ "${TLS_ENABLED:-false}" == "true" ]]; then
46-
keeper_args+=(--secure --tls-ca-file "$CLICKHOUSE_TLS_CA" --tls-cert-file "$CLICKHOUSE_TLS_CERT" --tls-key-file "$CLICKHOUSE_TLS_KEY")
46+
keeper_args+=(--tls-ca-file "$CLICKHOUSE_TLS_CA" --tls-cert-file "$CLICKHOUSE_TLS_CERT" --tls-key-file "$CLICKHOUSE_TLS_KEY")
4747
fi
4848
if output=$(clickhouse-keeper-client "${keeper_args[@]}" 2>&1); then
49-
5049
if [[ "$output" != *"Coordination error"* ]] &&
5150
[[ "$output" != *"Connection refused"* ]] &&
5251
[[ "$output" != *"Timeout"* ]]; then
@@ -130,15 +129,29 @@ function get_mode_by_keeper() {
130129
echo "$mode" | awk '{print $2}'
131130
}
132131

133-
# Find leader node from member addresses
132+
# Get mode with retry to tolerate some network failures
133+
function get_mode_with_retry() {
134+
local host="$1"
135+
for _ in {1..5}; do
136+
local mode
137+
if mode=$(get_mode "$host") && [[ -n "$mode" ]]; then
138+
echo "$mode"
139+
return 0
140+
fi
141+
sleep 6
142+
done
143+
return 1
144+
}
145+
146+
# Find leader node from member addresses with retry mechanism
134147
function find_leader() {
135148
local member_addresses="$1"
136149
[[ -z "$member_addresses" ]] && return 1
137150

138151
while IFS=',' read -ra members; do
139152
for member_addr in "${members[@]}"; do
140153
local member_fqdn="${member_addr%:*}"
141-
mode=$(get_mode "$member_fqdn")
154+
local mode=$(get_mode_with_retry "$member_fqdn")
142155
if [[ "$mode" == "leader" || "$mode" == "standalone" ]]; then
143156
echo "$member_fqdn"
144157
return 0

addons/clickhouse/scripts/keeper-member-join.sh

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,11 @@ new_member_fqdn="$KB_JOIN_MEMBER_POD_FQDN"
66
new_member_name="$KB_JOIN_MEMBER_POD_NAME"
77
keeper_raft_port=${CLICKHOUSE_KEEPER_RAFT_PORT:-9234}
88

9-
function check_is_leader() {
10-
local mode=$(get_mode 127.0.0.1)
11-
if [[ "$mode" == "leader" ]]; then
12-
echo "INFO: This member is the leader, no need to join."
13-
return 0
14-
fi
15-
}
16-
179
# 1. Find leader from existing members
1810
leader_fqdn=$(find_leader "$CH_KEEPER_POD_FQDN_LIST")
1911
if [[ -z "$leader_fqdn" ]]; then
20-
if ! check_is_leader; then
21-
echo "ERROR: Could not find cluster leader."
22-
exit 1
23-
fi
12+
echo "ERROR: Could not find keeper leader"
13+
exit 1
2414
fi
2515

2616
# 2. Extract ordinal from pod name and calculate server ID

addons/clickhouse/templates/cmpd-ch.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ spec:
2626
- sh
2727
- -c
2828
- |
29-
cp /bin/wget /shared-tools/wget
30-
chmod +x /shared-tools/wget
29+
cp /bin/curl /shared-tools/curl
30+
chmod +x /shared-tools/curl
3131
volumeMounts:
3232
- name: shared-tools
3333
mountPath: /shared-tools

addons/clickhouse/values.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,16 +42,16 @@ roleProbe:
4242

4343
busyboxImage:
4444
registry: ""
45-
repository: busybox
45+
repository: apecloud/bash-busybox
4646
pullPolicy: IfNotPresent
4747
# Overrides the image tag whose default is the chart appVersion.
48-
tag: 1.37.0-musl
48+
tag: 1.37.0-musl-curl
4949

5050
backupImage:
5151
registry: ""
5252
repository: apecloud/clickhouse-backup-full
5353
pullPolicy: IfNotPresent
54-
tag: 2.6.14
54+
tag: 2.6.42
5555

5656
restore:
5757
schemaReadyTimeoutSeconds: 1800

0 commit comments

Comments
 (0)