From e25032c2e3f931446c9a067265a19bfe9147509d Mon Sep 17 00:00:00 2001 From: Irvi Firqotul Aini Date: Thu, 22 Aug 2019 22:19:44 +0700 Subject: [PATCH 1/3] Adding entries to Pod /etc/hosts with HostAliases for ID localization. --- ...ries-to-pod-etc-hosts-with-host-aliases.md | 131 ++++++++++++++++++ .../service/networking/hostaliases-pod.yaml | 22 +++ 2 files changed, 153 insertions(+) create mode 100644 content/id/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md create mode 100644 content/id/examples/service/networking/hostaliases-pod.yaml diff --git a/content/id/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md b/content/id/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md new file mode 100644 index 0000000000000..9c8839986684d --- /dev/null +++ b/content/id/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md @@ -0,0 +1,131 @@ +--- +title: Menambahkan Entry pada /etc/hosts Pod dengan HostAliases +content_template: templates/concept +weight: 60 +--- + +{{< toc >}} + +{{% capture overview %}} +Menambahkan _entry_ pada file /etc/hosts Pod akan meng-_override_ +resolusi _hostname_ pada level Pod ketika DNS dan opsi lainnya tidak tersedia. +Pada versi 1.7, pengguna dapat menambahkan _entry_ kustom beserta _field_ HostAliases +pada PodSpec. + +Modifikasi yang dilakukan tanpa menggunakan HostAliases tidaklah disarankan +karena file ini diatur oleh Kubelet dan dapat di-_override_ ketika Pod dibuat/di-_restart_. +{{% /capture %}} + +{{% capture body %}} + +## Isi Default pada File Hosts + +Misalnya saja kamu mempunyai sebuah Pod Nginx yang memiliki sebuah IP Pod: + +```shell +kubectl run nginx --image nginx --generator=run-pod/v1 +``` + +```shell +pod/nginx created +``` + +Perhatikan IP Pod tersebut: + +```shell +kubectl get pods --output=wide +``` + +```shell +NAME READY STATUS RESTARTS AGE IP NODE +nginx 1/1 Running 0 13s 10.200.0.4 worker0 +``` + +File hosts yang ada akan tampak sebagai berikut: + +```shell +kubectl exec nginx -- cat /etc/hosts +``` + +```none +# Kubernetes-managed hosts file. +127.0.0.1 localhost +::1 localhost ip6-localhost ip6-loopback +fe00::0 ip6-localnet +fe00::0 ip6-mcastprefix +fe00::1 ip6-allnodes +fe00::2 ip6-allrouters +10.200.0.4 nginx +``` + +Secara default, file `hosts` hanya berisikan _boilerplate_ alamat IP IPv4 and IPv6 seperti +`localhost` dan hostname dari Pod itu sendiri. + +## Menambahkan _Entry_ Tambahan dengan HostAliases + +Selain _boilerplate_ default, kita dapat menambahkan _entry_ pada file +`hosts` untuk melakukan resolusi `foo.local`, `bar.local` pada `127.0.0.1` dan `foo.remote`, +`bar.remote` pada `10.1.2.3`, kita dapat melakukannya dengan cara menambahkan +HostAliases pada Pod dibawah _field_ `.spec.hostAliases`: + +{{< codenew file="service/networking/hostaliases-pod.yaml" >}} + +Pod ini kemudian dapat di-_start_ dengan perintah berikut: + +```shell +kubectl apply -f hostaliases-pod.yaml +``` + +```shell +pod/hostaliases-pod created +``` + +Perhatikan IP dan status Pod tersebut: + +```shell +kubectl get pod --output=wide +``` + +```shell +NAME READY STATUS RESTARTS AGE IP NODE +hostaliases-pod 0/1 Completed 0 6s 10.200.0.5 worker0 +``` + +File hosts yang ada akan tampak sebagai berikut: + +```shell +kubectl logs hostaliases-pod +``` + +```none +# Kubernetes-managed hosts file. +127.0.0.1 localhost +::1 localhost ip6-localhost ip6-loopback +fe00::0 ip6-localnet +fe00::0 ip6-mcastprefix +fe00::1 ip6-allnodes +fe00::2 ip6-allrouters +10.200.0.5 hostaliases-pod + +# Entries added by HostAliases. +127.0.0.1 foo.local bar.local +10.1.2.3 foo.remote bar.remote +``` + +Dengan tambahan _entry_ yang telah dispesifikasikan sebelumnya. + +## Kenapa Kubelet Melakukan Mekanisme Manajemen File Hosts? + +Kubelet [melakukan proses manajemen](https://github.com/kubernetes/kubernetes/issues/14633) +file `hosts` untuk setiap container yang ada pada Pod untuk mencegah Docker melakukan +[modifikasi](https://github.com/moby/moby/issues/17190) pada file tersebut +setelah kontainer di-_start_. + +Karena sifat dari file tersebut yang secara otomatis di-_manage_, +semua hal yang didefinisikan oleh pengguna akan di-_overwite_ ketika file +`hosts` di-_mount_ kembali oleh Kubelet ketika sebuah kontainer di-_restart_ +atau Pod di-_schedule_ ulang. Dengan demikian tidak dianjurkan untuk +memodifikasi file tersebut secara langsung. + +{{% /capture %}} + diff --git a/content/id/examples/service/networking/hostaliases-pod.yaml b/content/id/examples/service/networking/hostaliases-pod.yaml new file mode 100644 index 0000000000000..643813b34a13d --- /dev/null +++ b/content/id/examples/service/networking/hostaliases-pod.yaml @@ -0,0 +1,22 @@ +apiVersion: v1 +kind: Pod +metadata: + name: hostaliases-pod +spec: + restartPolicy: Never + hostAliases: + - ip: "127.0.0.1" + hostnames: + - "foo.local" + - "bar.local" + - ip: "10.1.2.3" + hostnames: + - "foo.remote" + - "bar.remote" + containers: + - name: cat-hosts + image: busybox + command: + - cat + args: + - "/etc/hosts" From f5c07ab1ad70e293186f1636a886a6a0b79544c6 Mon Sep 17 00:00:00 2001 From: Irvi Firqotul Aini Date: Mon, 26 Aug 2019 01:33:25 +0700 Subject: [PATCH 2/3] Fix language consistency based on input. --- ...ries-to-pod-etc-hosts-with-host-aliases.md | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/content/id/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md b/content/id/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md index 9c8839986684d..b69e0f5d6accb 100644 --- a/content/id/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md +++ b/content/id/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md @@ -7,18 +7,18 @@ weight: 60 {{< toc >}} {{% capture overview %}} -Menambahkan _entry_ pada file /etc/hosts Pod akan meng-_override_ +Menambahkan entri pada berkas /etc/hosts Pod akan melakukan _override_ resolusi _hostname_ pada level Pod ketika DNS dan opsi lainnya tidak tersedia. -Pada versi 1.7, pengguna dapat menambahkan _entry_ kustom beserta _field_ HostAliases +Pada versi 1.7, pengguna dapat menambahkan entri yang diinginkan beserta _field_ HostAliases pada PodSpec. Modifikasi yang dilakukan tanpa menggunakan HostAliases tidaklah disarankan -karena file ini diatur oleh Kubelet dan dapat di-_override_ ketika Pod dibuat/di-_restart_. +karena berkas ini diatur oleh Kubelet dan dapat di-_override_ ketika Pod dibuat/di-_restart_. {{% /capture %}} {{% capture body %}} -## Isi Default pada File Hosts +## Isi Default pada Berkas `Hosts` Misalnya saja kamu mempunyai sebuah Pod Nginx yang memiliki sebuah IP Pod: @@ -41,14 +41,14 @@ NAME READY STATUS RESTARTS AGE IP NODE nginx 1/1 Running 0 13s 10.200.0.4 worker0 ``` -File hosts yang ada akan tampak sebagai berikut: +_File_ `hosts` yang ada akan tampak sebagai berikut: ```shell kubectl exec nginx -- cat /etc/hosts ``` ```none -# Kubernetes-managed hosts file. +# Berkas hosts yang dikelola Kubernetes 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet @@ -58,19 +58,19 @@ fe00::2 ip6-allrouters 10.200.0.4 nginx ``` -Secara default, file `hosts` hanya berisikan _boilerplate_ alamat IP IPv4 and IPv6 seperti +Secara default, berkas `hosts` hanya berisikan _boilerplate_ alamat IP IPv4 and IPv6 seperti `localhost` dan hostname dari Pod itu sendiri. -## Menambahkan _Entry_ Tambahan dengan HostAliases +## Menambahkan Entri Tambahan dengan HostAliases -Selain _boilerplate_ default, kita dapat menambahkan _entry_ pada file +Selain _boilerplate default_, kita dapat menambahkan entri pada berkas `hosts` untuk melakukan resolusi `foo.local`, `bar.local` pada `127.0.0.1` dan `foo.remote`, `bar.remote` pada `10.1.2.3`, kita dapat melakukannya dengan cara menambahkan -HostAliases pada Pod dibawah _field_ `.spec.hostAliases`: +HostAliases pada Pod di bawah _field_ `.spec.hostAliases`: -{{< codenew file="service/networking/hostaliases-pod.yaml" >}} +{{< codenew berkas="service/networking/hostaliases-pod.yaml" >}} -Pod ini kemudian dapat di-_start_ dengan perintah berikut: +Pod ini kemudian dapat dihidupkan dengan perintah berikut: ```shell kubectl apply -f hostaliases-pod.yaml @@ -91,14 +91,14 @@ NAME READY STATUS RESTARTS AGE IP hostaliases-pod 0/1 Completed 0 6s 10.200.0.5 worker0 ``` -File hosts yang ada akan tampak sebagai berikut: +_File_ `hosts` yang ada akan tampak sebagai berikut: ```shell kubectl logs hostaliases-pod ``` ```none -# Kubernetes-managed hosts file. +# Berkas hosts yang dikelola Kubernetes 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet @@ -112,20 +112,20 @@ fe00::2 ip6-allrouters 10.1.2.3 foo.remote bar.remote ``` -Dengan tambahan _entry_ yang telah dispesifikasikan sebelumnya. +Dengan tambahan entri yang telah dispesifikasikan sebelumnya. -## Kenapa Kubelet Melakukan Mekanisme Manajemen File Hosts? +## Kenapa Kubelet Melakukan Mekanisme Manajemen Berkas `Hosts`? Kubelet [melakukan proses manajemen](https://github.com/kubernetes/kubernetes/issues/14633) -file `hosts` untuk setiap container yang ada pada Pod untuk mencegah Docker melakukan -[modifikasi](https://github.com/moby/moby/issues/17190) pada file tersebut -setelah kontainer di-_start_. +berkas `hosts` untuk setiap container yang ada pada Pod untuk mencegah Docker melakukan +[modifikasi](https://github.com/moby/moby/issues/17190) pada berkas tersebut +setelah kontainer dihidupkan. -Karena sifat dari file tersebut yang secara otomatis di-_manage_, -semua hal yang didefinisikan oleh pengguna akan di-_overwite_ ketika file -`hosts` di-_mount_ kembali oleh Kubelet ketika sebuah kontainer di-_restart_ +Karena sifat dari berkas tersebut yang secara otomatis di-_manage_, +semua hal yang didefinisikan oleh pengguna akan ditimpa (_overwrite_) ketika berkas +`hosts` di-_mount_ kembali oleh Kubelet ketika ada kontainer yang di-_restart_ atau Pod di-_schedule_ ulang. Dengan demikian tidak dianjurkan untuk -memodifikasi file tersebut secara langsung. +memodifikasi berkas tersebut secara langsung. {{% /capture %}} From 8cbd2bd92bc86835640b593b0e443b6f4072b542 Mon Sep 17 00:00:00 2001 From: Irvi Firqotul Aini Date: Mon, 2 Sep 2019 23:36:58 +0700 Subject: [PATCH 3/3] Fix broken build. --- .../add-entries-to-pod-etc-hosts-with-host-aliases.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/id/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md b/content/id/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md index b69e0f5d6accb..50ecaa967659e 100644 --- a/content/id/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md +++ b/content/id/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md @@ -68,7 +68,7 @@ Selain _boilerplate default_, kita dapat menambahkan entri pada berkas `bar.remote` pada `10.1.2.3`, kita dapat melakukannya dengan cara menambahkan HostAliases pada Pod di bawah _field_ `.spec.hostAliases`: -{{< codenew berkas="service/networking/hostaliases-pod.yaml" >}} +{{< codenew file="service/networking/hostaliases-pod.yaml" >}} Pod ini kemudian dapat dihidupkan dengan perintah berikut: