Skip to content

Commit 47f3785

Browse files
authored
Merge pull request #20273 from adityaalifn/container-env-var-id
Add ID translation for define environment variable in container
2 parents d65d872 + f238e24 commit 47f3785

File tree

3 files changed

+139
-0
lines changed

3 files changed

+139
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
title: "Memasukkan Data ke dalam Aplikasi"
3+
weight: 30
4+
---
5+
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
---
2+
title: Mendefinisikan Variabel Lingkungan untuk sebuah Kontainer
3+
content_template: templates/task
4+
weight: 20
5+
---
6+
7+
{{% capture overview %}}
8+
9+
Laman ini menunjukkan bagaimana cara untuk mendefinisikan variabel lingkungan (_environment variable_) untuk sebuah Container di dalam sebuah Pod Kubernetes.
10+
11+
{{% /capture %}}
12+
13+
14+
{{% capture prerequisites %}}
15+
16+
{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}
17+
18+
{{% /capture %}}
19+
20+
21+
{{% capture steps %}}
22+
23+
## Mendefinisikan sebuah variabel lingkungan untuk sebuah Container
24+
25+
Ketika kamu membuat sebuah Pod, kamu dapat mengatur variabel lingkungan untuk Container-Container yang berjalan di dalam sebuah Pod.
26+
Untuk mengatur variabel lingkungan, sertakan bagian `env` atau `envFrom` pada berkas konfigurasi.
27+
28+
Dalam latihan ini, kamu membuat sebuah Pod yang menjalankan satu buah Container.
29+
Berkas konfigurasi untuk Pod tersebut mendefinisikan sebuah variabel lingkungan dengan nama `DEMO_GREETING` yang bernilai `"Hello from the environment"`.
30+
Berikut berkas konfigurasi untuk Pod tersebut:
31+
32+
{{< codenew file="pods/inject/envars.yaml" >}}
33+
34+
1. Buatlah sebuah Pod berdasarkan berkas konfigurasi YAML tersebut:
35+
36+
```shell
37+
kubectl apply -f https://k8s.io/examples/pods/inject/envars.yaml
38+
```
39+
40+
2. Tampilkan Pod-Pod yang sedang berjalan:
41+
42+
```shell
43+
kubectl get pods -l purpose=demonstrate-envars
44+
```
45+
46+
Keluarannya mirip seperti ini:
47+
48+
```
49+
NAME READY STATUS RESTARTS AGE
50+
envar-demo 1/1 Running 0 9s
51+
```
52+
53+
3. Dapatkan sebuah _shell_ ke Container yang sedang berjalan di Pod kamu:
54+
55+
```shell
56+
kubectl exec -it envar-demo -- /bin/bash
57+
```
58+
59+
4. Di _shell_ kamu, jalankan perintah `printenv` untuk melihat daftar variabel lingkungannya.
60+
61+
```shell
62+
root@envar-demo:/# printenv
63+
```
64+
65+
Keluarannya mirip seperti ini:
66+
67+
```
68+
NODE_VERSION=4.4.2
69+
EXAMPLE_SERVICE_PORT_8080_TCP_ADDR=10.3.245.237
70+
HOSTNAME=envar-demo
71+
...
72+
DEMO_GREETING=Hello from the environment
73+
DEMO_FAREWELL=Such a sweet sorrow
74+
```
75+
76+
5. Untuk keluar dari _shell_ tersebut, masukkan perintah `exit`.
77+
78+
{{< note >}}
79+
Variabel-variabel lingkungan yang diatur menggunakan bagian `env` atau `envFrom` akan mengesampingkan
80+
variabel-variabel lingkungan yang ditentukan di dalam _image_ kontainer.
81+
{{< /note >}}
82+
83+
## Menggunakan variabel-variabel lingkungan di dalam konfigurasi kamu
84+
85+
Variabel-variabel lingkungan yang kamu definisikan di dalam sebuah konfigurasi Pod dapat digunakan di tempat lain dalam konfigurasi, contohnya di dalam perintah-perintah dan argumen-argumen yang kamu atur dalam Container-Container milik Pod.
86+
Pada contoh konfigurasi berikut, variabel-variabel lingkungan `GREETING`, `HONORIFIC`, dan `NAME` disetel masing-masing menjadi `Warm greetings to`, `The Most Honorable`, dan `Kubernetes`.
87+
Variabel-variabel lingkungan tersebut kemudian digunakan dalam argumen CLI yang diteruskan ke Container `env-print-demo`.
88+
89+
```yaml
90+
apiVersion: v1
91+
kind: Pod
92+
metadata:
93+
name: print-greeting
94+
spec:
95+
containers:
96+
- name: env-print-demo
97+
image: bash
98+
env:
99+
- name: GREETING
100+
value: "Warm greetings to"
101+
- name: HONORIFIC
102+
value: "The Most Honorable"
103+
- name: NAME
104+
value: "Kubernetes"
105+
command: ["echo"]
106+
args: ["$(GREETING) $(HONORIFIC) $(NAME)"]
107+
```
108+
109+
Setelah dibuat, perintah `echo Warm greetings to The Most Honorable Kubernetes` dijalankan di Container tersebut.
110+
111+
{{% /capture %}}
112+
113+
{{% capture whatsnext %}}
114+
115+
* Pelajari lebih lanjut tentang [variabel lingkungan](/docs/tasks/inject-data-application/environment-variable-expose-pod-information/).
116+
* Pelajari tentang [menggunakan informasi rahasia sebagai variabel lingkungan](/docs/user-guide/secrets/#using-secrets-as-environment-variables).
117+
* Lihat [EnvVarSource](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#envvarsource-v1-core).
118+
119+
{{% /capture %}}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: v1
2+
kind: Pod
3+
metadata:
4+
name: envar-demo
5+
labels:
6+
purpose: demonstrate-envars
7+
spec:
8+
containers:
9+
- name: envar-demo-container
10+
image: gcr.io/google-samples/node-hello:1.0
11+
env:
12+
- name: DEMO_GREETING
13+
value: "Hello from the environment"
14+
- name: DEMO_FAREWELL
15+
value: "Such a sweet sorrow"

0 commit comments

Comments
 (0)