Skip to content

Commit 6a0f974

Browse files
authored
Merge pull request #27872 from seokho-son/up-dev-1.21-ko.2
[ko] Update kustomization.md in dev-1.21-ko.2
2 parents 63a207a + d05cbca commit 6a0f974

File tree

1 file changed

+161
-22
lines changed

1 file changed

+161
-22
lines changed

content/ko/docs/tasks/manage-kubernetes-objects/kustomization.md

Lines changed: 161 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,12 @@ Kustomize는 쿠버네티스 구성을 사용자 정의화하는 도구이다.
4747

4848
### 리소스 생성
4949

50-
컨피그 맵과 시크릿은 파드와 같은 다른 쿠버네티스 오브젝트에서 사용되는 설정이나 민감한 데이터를 가지고 있다. 컨피그 맵이나 시크릿의 실질적인 소스는 일반적으로 `.properties` 파일이나 ssh key 파일과 같은 것들은 클러스터 외부에 있다.
51-
Kustomize는 시크릿과 컨피그 맵을 파일이나 문자열에서 생성하는 `secretGenerator``configMapGenerator`를 가지고 있다.
50+
컨피그맵과 시크릿은 파드와 같은 다른 쿠버네티스 오브젝트에서 사용되는 설정이나 민감한 데이터를 가지고 있다. 컨피그맵이나 시크릿의 실질적인 소스는 일반적으로 `.properties` 파일이나 ssh key 파일과 같은 것들은 클러스터 외부에 있다.
51+
Kustomize는 시크릿과 컨피그맵을 파일이나 문자열에서 생성하는 `secretGenerator``configMapGenerator`를 가지고 있다.
5252

5353
#### configMapGenerator
5454

55-
파일에서 컨피그 맵을 생성하려면 `configMapGenerator` 내의 `files` 리스트에 항목을 추가한다. 다음은 하나의 `.properties` 파일에서 데이터 항목으로 컨피그 맵을 생성하는 예제이다.
55+
파일에서 컨피그맵을 생성하려면 `configMapGenerator` 내의 `files` 리스트에 항목을 추가한다. 다음은 하나의 `.properties` 파일에서 데이터 항목으로 컨피그맵을 생성하는 예제이다.
5656

5757
```shell
5858
# application.properties 파일을 생성
@@ -68,13 +68,13 @@ configMapGenerator:
6868
EOF
6969
```
7070

71-
생성된 컨피그 맵은 다음 명령어로 검사할 수 있다.
71+
생성된 컨피그맵은 다음 명령어로 검사할 수 있다.
7272

7373
```shell
7474
kubectl kustomize ./
7575
```
7676

77-
생성된 컨피그 맵은 다음과 같다.
77+
생성된 컨피그맵은 다음과 같다.
7878

7979
```yaml
8080
apiVersion: v1
@@ -86,7 +86,7 @@ metadata:
8686
name: example-configmap-1-8mbdf7882g
8787
```
8888
89-
컨피그 맵은 문자로된 키-값 쌍들로도 생성할 수 있다. 문자로된 키-값 쌍에서 컨피그 맵을 생성하려면, configMapGenerator 내의 `literals` 리스트에 항목을 추가한다. 다음은 키-값 쌍을 데이터 항목으로 받는 컨피그 맵을 생성하는 예제이다.
89+
컨피그맵은 문자로된 키-값 쌍들로도 생성할 수 있다. 문자로된 키-값 쌍에서 컨피그맵을 생성하려면, configMapGenerator 내의 `literals` 리스트에 항목을 추가한다. 다음은 키-값 쌍을 데이터 항목으로 받는 컨피그맵을 생성하는 예제이다.
9090

9191
```shell
9292
cat <<EOF >./kustomization.yaml
@@ -97,13 +97,13 @@ configMapGenerator:
9797
EOF
9898
```
9999

100-
생성된 컨피그 맵은 다음 명령어로 확인할 수 있다.
100+
생성된 컨피그맵은 다음 명령어로 확인할 수 있다.
101101

102102
```shell
103103
kubectl kustomize ./
104104
```
105105

106-
생성된 컨피그 맵은 다음과 같다.
106+
생성된 컨피그맵은 다음과 같다.
107107

108108
```yaml
109109
apiVersion: v1
@@ -114,6 +114,98 @@ metadata:
114114
name: example-configmap-2-g2hdhfc6tk
115115
```
116116

117+
디플로이먼트에서 생성된 컨피그맵을 사용하기 위해서는, configMapGenerator의 이름을 참조한다. Kustomize는 자동으로 해당 이름을 생성된 이름으로 교체할 것이다.
118+
119+
다음은 생성된 컨피그맵을 사용하는 디플로이먼트의 예시다.
120+
121+
```yaml
122+
# application.properties 파일을 생성한다.
123+
cat <<EOF >application.properties
124+
FOO=Bar
125+
EOF
126+
127+
cat <<EOF >deployment.yaml
128+
apiVersion: apps/v1
129+
kind: Deployment
130+
metadata:
131+
name: my-app
132+
labels:
133+
app: my-app
134+
spec:
135+
selector:
136+
matchLabels:
137+
app: my-app
138+
template:
139+
metadata:
140+
labels:
141+
app: my-app
142+
spec:
143+
containers:
144+
- name: app
145+
image: my-app
146+
volumeMount:
147+
- name: config
148+
mountPath: /config
149+
volumes:
150+
- name: config
151+
configMap:
152+
name: example-configmap-1
153+
EOF
154+
155+
cat <<EOF >./kustomization.yaml
156+
resources:
157+
- deployment.yaml
158+
configMapGenerator:
159+
- name: example-configmap-1
160+
files:
161+
- application.properties
162+
EOF
163+
```
164+
165+
컨피그맵과 디플로이먼트를 생성한다.
166+
167+
```shell
168+
kubectl kustomize ./
169+
```
170+
171+
생성된 디플로이먼트는 이름을 통해서 생성된 컨피그맵을 참조한다.
172+
173+
```yaml
174+
apiVersion: v1
175+
data:
176+
application.properties: |
177+
FOO=Bar
178+
kind: ConfigMap
179+
metadata:
180+
name: example-configmap-1-g4hk9g2ff8
181+
---
182+
apiVersion: apps/v1
183+
kind: Deployment
184+
metadata:
185+
labels:
186+
app: my-app
187+
name: my-app
188+
spec:
189+
selector:
190+
matchLabels:
191+
app: my-app
192+
template:
193+
metadata:
194+
labels:
195+
app: my-app
196+
spec:
197+
containers:
198+
- image: my-app
199+
name: app
200+
volumeMount:
201+
- mountPath: /config
202+
name: config
203+
volumes:
204+
- configMap:
205+
name: example-configmap-1-g4hk9g2ff8
206+
name: config
207+
```
208+
117209
#### secretGenerator
118210

119211
파일 또는 문자로된 키-값 쌍들로 시크릿을 생성할 수 있다. 파일에서 시크릿을 생성하려면 `secretGenerator` 내의 `files` 리스트에 항목을 추가한다. 다음은 파일을 데이터 항목으로 받는 시크릿을 생성하는 예제이다.
@@ -170,9 +262,56 @@ metadata:
170262
type: Opaque
171263
```
172264

265+
컨피그맵과 유사하게, 생성된 시크릿도 secretGenerator의 이름을 참조함으로써 디플로이먼트에서 사용될 수 있다.
266+
267+
```shell
268+
# password.txt 파일을 생성한다.
269+
cat <<EOF >./password.txt
270+
username=admin
271+
password=secret
272+
EOF
273+
274+
cat <<EOF >deployment.yaml
275+
apiVersion: apps/v1
276+
kind: Deployment
277+
metadata:
278+
name: my-app
279+
labels:
280+
app: my-app
281+
spec:
282+
selector:
283+
matchLabels:
284+
app: my-app
285+
template:
286+
metadata:
287+
labels:
288+
app: my-app
289+
spec:
290+
containers:
291+
- name: app
292+
image: my-app
293+
volumeMount:
294+
- name: password
295+
mountPath: /secrets
296+
volumes:
297+
- name: password
298+
secret:
299+
secretName: example-secret-1
300+
EOF
301+
302+
cat <<EOF >./kustomization.yaml
303+
resources:
304+
- deployment.yaml
305+
secretGenerator:
306+
- name: example-secret-1
307+
files:
308+
- password.txt
309+
EOF
310+
```
311+
173312
#### generatorOptions
174313

175-
생성된 컨피그 맵과 시크릿은 콘텐츠 해시 접미사가 추가된다. 이는 콘텐츠가 변경될 때 새로운 컨피그 맵 이나 시크릿이 생성되는 것을 보장한다. 접미사를 추가하는 동작을 비활성화하는 방법으로 `generatorOptions`를 사용할 수 있다. 그밖에, 생성된 컨피그 맵과 시크릿에 교차 편집 옵션들을 지정해주는 것도 가능하다.
314+
생성된 컨피그맵과 시크릿은 콘텐츠 해시 접미사가 추가된다. 이는 콘텐츠가 변경될 때 새로운 컨피그맵 이나 시크릿이 생성되는 것을 보장한다. 접미사를 추가하는 동작을 비활성화하는 방법으로 `generatorOptions`를 사용할 수 있다. 그밖에, 생성된 컨피그맵과 시크릿에 교차 편집 옵션들을 지정해주는 것도 가능하다.
176315

177316
```shell
178317
cat <<EOF >./kustomization.yaml
@@ -189,7 +328,7 @@ generatorOptions:
189328
EOF
190329
```
191330

192-
생성된 컨피그 맵을 보려면 `kubectl kustomize ./`를 실행한다.
331+
생성된 컨피그맵을 보려면 `kubectl kustomize ./`를 실행한다.
193332

194333
```yaml
195334
apiVersion: v1
@@ -814,24 +953,24 @@ deployment.apps "dev-my-nginx" deleted
814953
| nameSuffix | string | 모든 리소스 네임에 이 필드의 값이 접미사로 추가된다 |
815954
| commonLabels | map[string]string | 모든 리소스와 셀렉터에 추가될 레이블 |
816955
| commonAnnotations | map[string]string | 모든 리소스에 추가될 어노테이션 |
817-
| resources | []string | 이 리스트 내 각각의 항목은 반드시 존재하는 리소스 구성 파일로 해석되어져야 한다 |
818-
| configmapGenerator | [][ConfigMapArgs](https://github.com/kubernetes-sigs/kustomize/blob/release-kustomize-v4.0/api/types/kustomization.go#L99) | 이 리스트 내 각각의 항목은 컨피그 맵을 생성한다 |
819-
| secretGenerator | [][SecretArgs](https://github.com/kubernetes-sigs/kustomize/blob/release-kustomize-v4.0/api/types/kustomization.go#L106) | 이 리스트 내 각각의 항목은 시크릿을 생성한다 |
820-
| generatorOptions | [GeneratorOptions](https://github.com/kubernetes-sigs/kustomize/blob/release-kustomize-v4.0/api/types/kustomization.go#L109) | 모든 configMapGenerator와 secretGenerator의 동작을 변경 |
821-
| bases | []string | 이 리스트 내 각각의 항목은 kustomization.yaml 파일을 가지는 디렉터리로 해석되어져야 한다 |
822-
| patchesStrategicMerge | []string | 이 리스트 내 각각의 항목은 쿠버네티스 오브젝트의 전략적 병합 패치로 해석되어져야 한다 |
823-
| patchesJson6902 | [][Json6902](https://github.com/kubernetes-sigs/kustomize/blob/release-kustomize-v4.0/api/types/patchjson6902.go#L8) | 이 리스트 내 각각의 항목은 쿠버네티스 오브젝트와 Json 패치로 해석되어져야 한다 |
824-
| vars | [][Var](https://github.com/kubernetes-sigs/kustomize/blob/master/api/types/var.go#L31) | 각각의 항목은 한 리소스의 필드에서 텍스트를 캡쳐한다 |
825-
| images | [][Image](https://github.com/kubernetes-sigs/kustomize/tree/master/api/types/image.go#L23) | 각각의 항목은 패치를 생성하지 않고 한 이미지의 name, tags 그리고/또는 digest를 수정한다 |
826-
| configurations | []string | 이 리스트 내 각각의 항목은 [Kustomize 변환 설정](https://github.com/kubernetes-sigs/kustomize/tree/master/examples/transformerconfigs)을 포함하는 파일로 해석되어져야 한다 |
827-
| crds | []string | 이 리스트 내 각각의 항목은 쿠버네티스 타입에 대한 OpenAPI 정의 파일로 해석되어져야 한다 |
956+
| resources | []string | 이 리스트 내 각각의 항목은 반드시 존재하는 리소스 구성 파일로 해석되어야 한다. |
957+
| configMapGenerator | [][ConfigMapArgs](https://github.com/kubernetes-sigs/kustomize/blob/master/api/types/configmapargs.go#L7) | 이 리스트의 각 항목은 컨피그맵을 생성한다. |
958+
| secretGenerator | [][SecretArgs](https://github.com/kubernetes-sigs/kustomize/blob/master/api/types/secretargs.go#L7) | 이 리스트의 각 항목은 시크릿을 생성한다. |
959+
| generatorOptions | [GeneratorOptions](https://github.com/kubernetes-sigs/kustomize/blob/master/api/types/generatoroptions.go#L7) | 모든 컨피그맵 및 시크릿 생성자(generator)의 동작을 수정한다. |
960+
| bases | []string | 이 리스트 내 각각의 항목은 kustomization.yaml 파일을 가지는 디렉터리로 해석되어야 한다. |
961+
| patchesStrategicMerge | []string | 이 리스트 내 각각의 항목은 쿠버네티스 오브젝트의 전략적 병합 패치로 해석되어야 한다. |
962+
| patchesJson6902 | [][Patch](https://github.com/kubernetes-sigs/kustomize/blob/master/api/types/patch.go#L10) | 이 리스트 내 각각의 항목은 쿠버네티스 오브젝트와 Json 패치로 해석되어야 한다. |
963+
| vars | [][Var](https://github.com/kubernetes-sigs/kustomize/blob/master/api/types/var.go#L19) | 각각의 항목은 한 리소스의 필드에서 텍스트를 캡쳐한다. |
964+
| images | [][Image](https://github.com/kubernetes-sigs/kustomize/blob/master/api/types/image.go#L8) | 각각의 항목은 패치를 생성하지 않고 하나의 이미지에 대한 name, tags 그리고/또는 digest를 수정한다. |
965+
| configurations | []string | 이 리스트 내 각각의 항목은 [Kustomize 변환 설정](https://github.com/kubernetes-sigs/kustomize/tree/master/examples/transformerconfigs)을 포함하는 파일로 해석되어야 한다. |
966+
| crds | []string | 이 리스트 내 각각의 항목은 쿠버네티스 타입에 대한 OpenAPI 정의 파일로 해석되어야 한다. |
828967

829968

830969

831970
## {{% heading "whatsnext" %}}
832971

833972

834973
* [Kustomize](https://github.com/kubernetes-sigs/kustomize)
835-
* [Kubectl ](https://kubectl.docs.kubernetes.io)
974+
* [Kubectl 문서](https://kubectl.docs.kubernetes.io)
836975
* [Kubectl 커맨드 참조](/docs/reference/generated/kubectl/kubectl-commands/)
837976
* [쿠버네티스 API 참조](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/)

0 commit comments

Comments
 (0)