# 通过helm安装

Etcd-Carry支持通过helm 3.x进行安装,helm的安装包你可以从这里 (opens new window)获取。

# 安装

Etcd-Carry的helm仓库地址为:https://etcd-carry.github.io/helm-chart/

  1. 添加helm仓库
$ helm repo add etcd-carry https://etcd-carry.github.io/helm-chart/
1
  1. 查看是否添加成功
$ helm repo list
NAME      	URL                                     
etcd-carry	https://etcd-carry.github.io/helm-chart/
1
2
3
  1. 查看仓库中chart包列表
$ helm search repo
NAME                 	CHART VERSION	APP VERSION	DESCRIPTION                
etcd-carry/etcd-carry	0.2.0        	v0.2.0     	A Helm chart for Kubernetes
1
2
3
  1. Etcd-Carry安装前需要指定源etcd集群和目的etcd集群的证书密钥;如果你想自定义过滤规则同步k8s数据,还需要配置好规则。
# 按照下面的文件命名来保存密钥信息和过滤规则:
source-ca.crt : 源集群SSL CA文件
source-server.crt : 源集群SSL证书文件
source-server.key : 源集群SSL密钥文件
dest-ca.crt : 目的集群SSL CA文件
dest-server.crt : 目的集群SSL证书文件
dest-server.key : 目的集群SSL密钥文件
rules.yaml : 过滤规则文件
secrets-encryption.yaml : etcd加密存储k8s secrets的加密算法文件

# 准备好证书密钥及配置文件后,下载kustomization.yaml文件到同一目录下
$ curl -LO https://github.com/etcd-carry/etcd-carry/releases/download/v0.2.0/kustomization.yaml

# 编辑kustomization.yaml
$ vim kustomization.yaml
configMapGenerator:
- name: etcd-carry-pki  // 证书密钥configmap
  files:
  - source-ca.crt
  - source-server.crt
  - source-server.key
  - dest-ca.crt
  - dest-server.crt
  - dest-server.key
- name: etcd-carry-config  // (可选)配置文件configmap,包括过滤规则和secrets加密算法文件;若不配置则删除
  files:
  - rules.yaml
  - secrets-encryption.yaml
generatorOptions:
  disableNameSuffixHash: true
  
# 生成证书密钥和配置文件的Configmap
$ kubectl apply -k ./ --namespace test
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
  1. 安装
helm install etcd-carry etcd-carry/etcd-carry --version 0.2.0 --namespace test --set endpoints.source=192.168.48.11:2379,endpoints.dest=192.168.48.22:2379,existingPkiConfigmap=etcd-carry-pki
1

# 升级

# 添加仓库地址
$ helm repo add etcd-carry https://etcd-carry.github.io/helm-chart/

$ helm repo update

# 升级到指定版本
$ helm upgrade etcd-carry etcd-carry/etcd-carry --version 0.3.0 [--force]
1
2
3
4
5
6
7

提示

升级前,请阅读Change Log确保你了解新版本中的重大变化

# 手动下载charts

如果你的环境无法访问https://etcd-carry.github.io/helm-chart/的话,你可以从这里 (opens new window)把chart下载到本地进行安装或升级

$ helm install/upgrade etcd-carry /PATH/TO/CHART
1

# 参数说明

Etcd-Carry安装时的一些参数需要根据实际的场景进行设置,参数说明如下:

参数 描述 默认值
replicaCount Etcd-Carry deployment的副本数 1
image.repository Etcd-Carry镜像仓库 xakdwch5/etcd-carry
image.tag Etcd-Carry镜像tag latest
image.pullPolicy Etcd-Carry镜像拉取策略 IfNotPresent
imagePullSecrets Etcd-Carry的 image pull secrets 列表 []
existingPkiConfigmap 安装前已存在的证书密钥configmap
existingConfigmap 安装前已存在的配置文件configmap
endpoints.source 源etcd集群的ip:端口
endpoints.dest 目的etcd集群的ip:端口
resources Etcd-Carry的limit、request资源 {}
nodeSelector Etcd-Carry部署的 node selector 亲和性 {}
tolerations Etcd-Carry部署的 tolerations {}
affinity Etcd-Carry部署的affinity亲和性 {}

这些参数可以通过 --set key=value[,key=value] 参数在 helm install 或 helm upgrade 命令中生效。

# 卸载

注意

卸载会删除Etcd-Carry的Deployment及关联的RS、Pod

卸载使用helm chart安装的Etcd-Carry:

$ helm uninstall etcd-carry -n test
release "etcd-carry" uninstalled
1
2
Last Updated: 2/24/2023, 5:25:10 PM