Skip to content

Commit e7c7b8c

Browse files
committed
refactor(ezblob): update ezblob
1 parent 3676680 commit e7c7b8c

File tree

8 files changed

+250
-127
lines changed

8 files changed

+250
-127
lines changed

.vscode/settings.json

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,16 @@
11
{
22
"cSpell.words": [
3+
"apimachinery",
4+
"chunkify",
5+
"clientcmd",
6+
"clientcorev",
7+
"Clientset",
8+
"corev",
9+
"ezblob",
310
"ezdeploy",
411
"jsonnet",
5-
"kubeconfig"
12+
"kubeconfig",
13+
"metav",
14+
"stretchr"
615
]
716
}

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@ A simple tool to deploy various Kubernetes resources
44

55
NO DAEMON, NO SERVICE, JUST ONE-OFF EXECUTION
66

7+
[中文文档](README.zh.md)
8+
79
## Features
810

911
- Support `yaml`, `json`, `jsonnet` and `Helm`
10-
- Incremental update
12+
- Support incremental updates
1113

1214
## Installation
1315

README.zh.md

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# ezdeploy
2+
3+
一个简单的 Kubernetes 资源部署工具
4+
5+
**无需守护进程,无需启动服务,只需一次性执行**
6+
7+
## 功能
8+
9+
- 支持 `yaml`, `json`, `jsonnet``Helm`
10+
- 支持增量更新
11+
12+
## 安装
13+
14+
你可以从源码构建二进制文件,或者直接下载预编译的二进制文件。
15+
16+
- 从源码构建
17+
18+
```shell
19+
git clone https://github.com/yankeguo/ezdeploy.git
20+
cd ezdeploy
21+
go build -o ezdeploy ./cmd/ezdeploy
22+
```
23+
24+
- 下载预编译的二进制文件
25+
26+
查看 <https://github.com/yankeguo/ezdeploy/releases>
27+
28+
## 用法
29+
30+
1. 确保 `kubectl``helm` 可以在 `$PATH` 中找到
31+
2. 准备一个 **资源目录**, 参见下文
32+
3. 执行 `ezdeploy`
33+
34+
## 命令参数
35+
36+
- `--dry-run`, 运行但不实际应用任何更改
37+
- `--kubeconfig` 或者 环境变量 `KUBECONFIG`, 指定 `kubeconfig` 文件路径
38+
- `KUBECONFIG_BASE64`, 可以使用此环境变量提供 base64 编码的 `kubeconfig` 文件内容
39+
40+
## 资源文件目录结构
41+
42+
- 每个子目录代表一个**命名空间**
43+
- 子目录中的每个资源文件(`json`,`yaml`,`jsonnet`),将被应用到该**命名空间**
44+
45+
示例:
46+
47+
```
48+
namespace-a/
49+
workload-aa.yaml
50+
workload-ab.jsonnet
51+
workload-ac.json
52+
namespace-b/
53+
workload-ba.yaml
54+
workload-bb.jsonnet
55+
workload-bc.json
56+
```
57+
58+
## Helm 支持
59+
60+
- 下载 Chart 并解压到特殊的子目录 `_helm`
61+
-**命名空间** 子目录下,创建 `Values` 文件,命名为 `[RELEASE_NAME].[CHART_NAME].helm.yaml`
62+
63+
示例:
64+
65+
```
66+
_helm/
67+
ingress-nginx/
68+
Chart.yaml
69+
values.yaml
70+
templates/
71+
...
72+
kube-system/
73+
main.ingress-nginx.helm.yaml
74+
```
75+
76+
`ezdeploy` 会在 `kube-system` 命名空间下,使用 `ingress-nginx` Chart,创建或更新一个名为 `main` 的 Release,`Values` 文件为
77+
`kube-system/primary.ingress-nginx.helm.yaml`
78+
79+
`ezdeploy` 允许使用 `jsonnet` 文件充当 `Values` 文件,只需将文件命名为 `[RELEASE_NAME].[CHART_NAME].helm.jsonnet` 即可。
80+
81+
## 许可证
82+
83+
GUO YANKE, MIT License

0 commit comments

Comments
 (0)