Black lives matter.
We stand in solidarity with the Black community.
Racism is unacceptable.
It conflicts with the core values of the Kubernetes project and our community does not tolerate it.
We stand in solidarity with the Black community.
Racism is unacceptable.
It conflicts with the core values of the Kubernetes project and our community does not tolerate it.
Laman ini menunjukkan bagaimana cara untuk mendefinisikan variabel lingkungan (environment variable) untuk sebuah Container di dalam sebuah Pod Kubernetes.
Kamu harus memiliki klaster Kubernetes, dan perangkat baris perintah kubectl
juga harus dikonfigurasikan untuk berkomunikasi dengan klaster kamu. Jika kamu
belum punya klaster, kamu dapat membuatnya dengan menggunakan
Minikube,
atau kamu dapat menggunakan salah satu tempat bermain Kubernetes ini:
kubectl version
.
Ketika kamu membuat sebuah Pod, kamu dapat mengatur variabel lingkungan untuk Container-Container yang berjalan di dalam sebuah Pod.
Untuk mengatur variabel lingkungan, sertakan bagian env
atau envFrom
pada berkas konfigurasi.
Dalam latihan ini, kamu membuat sebuah Pod yang menjalankan satu buah Container.
Berkas konfigurasi untuk Pod tersebut mendefinisikan sebuah variabel lingkungan dengan nama DEMO_GREETING
yang bernilai "Hello from the environment"
.
Berikut berkas konfigurasi untuk Pod tersebut:
pods/inject/envars.yaml
|
---|
|
Buatlah sebuah Pod berdasarkan berkas konfigurasi YAML tersebut:
kubectl apply -f https://k8s.io/examples/pods/inject/envars.yaml
Tampilkan Pod-Pod yang sedang berjalan:
kubectl get pods -l purpose=demonstrate-envars
Keluarannya mirip seperti ini:
NAME READY STATUS RESTARTS AGE
envar-demo 1/1 Running 0 9s
Dapatkan sebuah shell ke Container yang sedang berjalan di Pod kamu:
kubectl exec -it envar-demo -- /bin/bash
Di shell kamu, jalankan perintah printenv
untuk melihat daftar variabel lingkungannya.
root@envar-demo:/# printenv
Keluarannya mirip seperti ini:
NODE_VERSION=4.4.2
EXAMPLE_SERVICE_PORT_8080_TCP_ADDR=10.3.245.237
HOSTNAME=envar-demo
...
DEMO_GREETING=Hello from the environment
DEMO_FAREWELL=Such a sweet sorrow
Untuk keluar dari shell tersebut, masukkan perintah exit
.
Catatan: Variabel-variabel lingkungan yang diatur menggunakan bagianenv
atauenvFrom
akan mengesampingkan variabel-variabel lingkungan yang ditentukan di dalam image kontainer.
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.
Pada contoh konfigurasi berikut, variabel-variabel lingkungan GREETING
, HONORIFIC
, dan NAME
disetel masing-masing menjadi Warm greetings to
, The Most Honorable
, dan Kubernetes
.
Variabel-variabel lingkungan tersebut kemudian digunakan dalam argumen CLI yang diteruskan ke Container env-print-demo
.
apiVersion: v1
kind: Pod
metadata:
name: print-greeting
spec:
containers:
- name: env-print-demo
image: bash
env:
- name: GREETING
value: "Warm greetings to"
- name: HONORIFIC
value: "The Most Honorable"
- name: NAME
value: "Kubernetes"
command: ["echo"]
args: ["$(GREETING) $(HONORIFIC) $(NAME)"]
Setelah dibuat, perintah echo Warm greetings to The Most Honorable Kubernetes
dijalankan di Container tersebut.