@@ -341,6 +341,47 @@ summary: 在 Kubernetes 上如何为 TiDB 集群组件间开启 TLS。
341
341
cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=internal drainer-server.json | cfssljson -bare drainer-server
342
342
` ` `
343
343
344
+ - TiCDC Server 端证书
345
+
346
+ 首先生成默认的 ` ticdc-server.json` 文件:
347
+
348
+ {{< copyable " shell-regular" > }}
349
+
350
+ ` ` ` shell
351
+ cfssl print-defaults csr > ticdc-server.json
352
+ ` ` `
353
+
354
+ 然后编辑这个文件,修改 ` CN` ,` hosts` 属性:
355
+
356
+ ` ` ` json
357
+ ...
358
+ " CN" : " TiDB" ,
359
+ " hosts" : [
360
+ " 127.0.0.1" ,
361
+ " ::1" ,
362
+ " ${cluster_name} -ticdc" ,
363
+ " ${cluster_name} -ticdc.${namespace} " ,
364
+ " ${cluster_name} -ticdc.${namespace} .svc" ,
365
+ " ${cluster_name} -ticdc-peer" ,
366
+ " ${cluster_name} -ticdc-peer.${namespace} " ,
367
+ " ${cluster_name} -ticdc-peer.${namespace} .svc" ,
368
+ " *.${cluster_name} -ticdc-peer" ,
369
+ " *.${cluster_name} -ticdc-peer.${namespace} " ,
370
+ " *.${cluster_name} -ticdc-peer.${namespace} .svc"
371
+ ],
372
+ ...
373
+ ` ` `
374
+
375
+ 其中 ` ${cluster_name} ` 为集群的名字,` ${namespace} ` 为 TiDB 集群部署的命名空间,用户也可以添加自定义 ` hosts` 。
376
+
377
+ 最后生成 TiCDC Server 端证书:
378
+
379
+ {{< copyable " shell-regular" > }}
380
+
381
+ ` ` ` shell
382
+ cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=internal ticdc-server.json | cfssljson -bare ticdc-server
383
+ ` ` `
384
+
344
385
6. 生成 Client 端证书。
345
386
346
387
首先生成默认的 ` client.json` 文件:
@@ -807,6 +848,67 @@ summary: 在 Kubernetes 上如何为 TiDB 集群组件间开启 TLS。
807
848
808
849
创建这个对象以后,` cert-manager` 会生成一个名字为 ` ${cluster_name} -drainer-cluster-secret` 的 Secret 对象供 TiDB 集群的 Drainer 组件使用。
809
850
851
+ - TiCDC 组件的 Server 端证书。
852
+
853
+ TiCDC 从 v4.0.3 版本开始支持 TLS,TiDB Operator v1.1.3 版本同步支持 TiCDC 开启 TLS 功能。
854
+
855
+ ` ` ` yaml
856
+ apiVersion: cert-manager.io/v1alpha2
857
+ kind: Certificate
858
+ metadata:
859
+ name: ${cluster_name} -ticdc-cluster-secret
860
+ namespace: ${namespace}
861
+ spec:
862
+ secretName: ${cluster_name} -ticdc-cluster-secret
863
+ duration: 8760h # 365d
864
+ renewBefore: 360h # 15d
865
+ organization:
866
+ - PingCAP
867
+ commonName: "TiDB"
868
+ usages:
869
+ - server auth
870
+ - client auth
871
+ dnsNames:
872
+ - "${cluster_name}-ticdc"
873
+ - "${cluster_name}-ticdc.${namespace}"
874
+ - "${cluster_name}-ticdc.${namespace}.svc"
875
+ - "${cluster_name}-ticdc-peer"
876
+ - "${cluster_name}-ticdc-peer.${namespace}"
877
+ - "${cluster_name}-ticdc-peer.${namespace}.svc"
878
+ - "*.${cluster_name}-ticdc-peer"
879
+ - "*.${cluster_name}-ticdc-peer.${namespace}"
880
+ - "*.${cluster_name}-ticdc-peer.${namespace}.svc"
881
+ ipAddresses:
882
+ - 127.0.0.1
883
+ - ::1
884
+ issuerRef:
885
+ name: ${cluster_name}-tidb-issuer
886
+ kind: Issuer
887
+ group: cert-manager.io
888
+ ` ` `
889
+
890
+ 其中 ` ${cluster_name} ` 为集群的名字:
891
+
892
+ - ` spec.secretName` 请设置为 ` ${cluster_name} -ticdc-cluster-secret` ;
893
+ - ` usages` 请添加上 ` server auth` 和 ` client auth` ;
894
+ - ` dnsNames` 需要填写这些 DNS,根据需要可以填写其他 DNS:
895
+ - ` ${cluster_name} -ticdc`
896
+ - ` ${cluster_name} -ticdc.${namespace} `
897
+ - ` ${cluster_name} -ticdc.${namespace} .svc`
898
+ - ` ${cluster_name} -ticdc-peer`
899
+ - ` ${cluster_name} -ticdc-peer.${namespace} `
900
+ - ` ${cluster_name} -ticdc-peer.${namespace} .svc`
901
+ - ` * .${cluster_name} -ticdc-peer`
902
+ - ` * .${cluster_name} -ticdc-peer.${namespace} `
903
+ - ` * .${cluster_name} -ticdc-peer.${namespace} .svc`
904
+ - ` ipAddresses` 需要填写这两个 IP,根据需要可以填写其他 IP:
905
+ - ` 127.0.0.1`
906
+ - ` ::1`
907
+ - ` issuerRef` 请填写上面创建的 Issuer;
908
+ - 其他属性请参考 [cert-manager API](https://cert-manager.io/docs/reference/api-docs/# cert-manager.io/v1alpha2.CertificateSpec)。
909
+
910
+ 创建这个对象以后,` cert-manager` 会生成一个名字为 ` ${cluster_name} -ticdc-cluster-secret` 的 Secret 对象供 TiDB 集群的 TiCDC 组件使用。
911
+
810
912
- 一套 TiDB 集群组件的 Client 端证书。
811
913
812
914
` ` ` yaml
0 commit comments