‫Untuk cluster pertama Anda, mungkin bahkan mungkin beberapa
‫cluster pertama Anda, Anda tidak perlu terlalu khawatir tentang
‫konsep ruang nama dan konteks ini.
‫Tapi, itu adalah sesuatu yang perlu Anda
‫sadari bahwa itu ada jika Anda perlu menggunakannya.
‫Namespaces pada dasarnya adalah cluster virtual, atau tampilan
‫virtual, di dalam satu cluster.
‫Ini menyaring tidak hanya tampilan perintah sehingga Anda hanya
‫melihat hal-hal tertentu ketika Anda mengetik
‫perintah, tetapi juga, dengan plugin kebijakan jaringan yang
‫tepat, dapat mengontrol jaringan.
‫Ini sedikit berbeda dari Swarm di mana Swarm, out-of-the-box,
‫Anda akan membuat jaringan overlay yang berbeda dan semuanya
‫pada dasarnya bersifat pribadi.
‫Di Kubernetes, jaringan dan kontrol aplikasi serta privasi mereka, dan
‫apa yang dapat mereka lihat dan akses, dan
‫apa yang dikontrol secara fisik di sana benar-benar tergantung pada
‫plugin jaringan Anda.
‫Ruang nama itu sendiri tidak terkait dengan ruang nama
‫Docker, yang mungkin pernah Anda dengar, yang benar-benar
‫merupakan bagian dari subsistem Linux, dan itu semacam
‫cara kerja wadah. Ini tidak ada hubungannya dengan itu.
‫Ini hanya kata Kubernetes, hei Anda mungkin memiliki banyak hal
‫yang terjadi di cluster Anda, dan saya memberi Anda kesempatan
‫untuk membuat cluster mini kecil di mana
‫Anda akan mengatur namespace dengan konteks dan itulah
‫pandangan Anda dengan mengubah konteks Anda.
‫Anda dapat mengubah apa yang Anda lihat.
‫Maka namespace adalah segmen yang
‫berbeda untuk memfilter perintah, serta berpotensi
‫jaringan. Pada sistem saya di sini di
‫desktop saya, saya cukup melihat kubectl mendapatkan namespace dan perintah itu
‫menunjukkan kepada saya 4. Itu semacam,
‫out-of-the-box, standar yang akan Anda lihat.
‫Default adalah apa yang telah Anda kerjakan sejauh ini.
‫Itu dibuat untuk namespace default
‫aplikasi Anda. Satu-satunya hal yang benar-benar
‫menunjukkan kepada Anda ketika Anda mendapatkan
‫semua kubectl adalah titik akhir API Kubernetes itu sendiri, benar.
‫Sampai kami mulai menambahkan aplikasi, kami tidak benar-benar melihat
‫apa pun di sana. Secara teknis semua hal
‫ini berjalan di latar belakang, benar. Itulah yang kubectl mendapatkan semua -
‫semua ruang nama.
‫Anda dapat melihat semua wadah API dan
‫yang lainnya berjalan di dalam Kubernetes sendiri
‫dengan perintah itu. Jika saya melihat semua ruang
‫nama sekaligus, saya mendapatkan semuanya termasuk hal-hal sistem.
‫Ini adalah tampilan dari apa yang akan terlihat pada
‫minikube yang menempatkan semuanya ke dalam pod mereka sendiri untuk menjalankan
‫cluster itu sendiri.
‫Ada banyak hal yang terjadi di sana.
‫Realisasinya adalah ketika Anda biasanya
‫menggunakan Kubernetes, baris perintah berfokus pada namespace
‫default, secara default.
‫Anda hanya akan melihat aplikasi di sana benar-benar,
‫selain titik akhir API.
‫Itu hal yang baik, benar. Itu menyembunyikan kompleksitas
‫apa yang terjadi di latar belakang dari
‫perintah sehari-hari Anda, karena Anda tidak benar-benar
‫perlu melihat hal-hal itu kecuali Anda perlu memutakhirkannya, atau mengubahnya, atau
‫jika Anda memiliki masalah. Konteks ikut berperan
‫untuk mengatur tampilan Anda ketika Anda menjalankan perintah.
‫Kubectl melakukan banyak hal, benar.
‫Itu dapat terhubung ke berbagai kelompok.
‫Itu dapat mengubah otentikasi, atau pengguna, yang
‫Anda gunakan untuk berbicara dengan cluster, yang
‫belum kita bicarakan, atau namespace.
‫Jadi, ada tiga bagian ini, sungguh, dari sebuah konteks.
‫Itu adalah cluster, otentikasi, atau pengguna, dan kemudian
‫namespace yang ingin Anda lihat.
‫Semua yang didefinisikan, secara default, dalam
‫file di dalam. direktori kubus dari direktori
‫home Anda.
‫Ada file di sana yang disebut config, dan
‫itu pada dasarnya akan menjadi file YAML dari semuanya, tiga bagian itu.
‫Anda dapat memiliki beberapa entri di sana, dan Anda
‫dapat mengeditnya sesuka Anda.
‫Anda dapat memiliki banyak cluster yang berbeda dan selama Anda memiliki sertifikat
‫untuk berbicara dengan mereka, otentikasi yang tepat, Anda dapat meletakkan
‫semua hal itu di file itu, dan itu adalah sesuatu yang
‫Anda ingin rahasiakan. Ini bukan
‫sesuatu yang Anda benar-benar ingin bagikan karena
‫biasanya memiliki kunci otentikasi Anda untuk
‫berbicara dengan sebuah cluster. Jika Anda
‫menggunakan perintah konfigurasi kubectl dengan sub perintah get contexts, itu jamak,
‫pada dasarnya Anda dapat melihat output
‫dari file itu. Alih-alih membuangnya mentah, Anda
‫sebenarnya dapat melihat daftar kecil yang bagus
‫dari apa yang ada di dalamnya.
‫Dalam kasus saya, saya punya Desktop Docker standar di
‫komputer lokal saya. Entri itu ada di sana
‫dua kali untuk beberapa edisi terakhir Docker Desktop karena mereka telah mengubah
‫nama sehingga mereka menjaga keduanya di sana untuk kompatibilitas.
‫Kemudian saya memiliki minikube lokal dan
‫instance mikro K8 yang berjalan pada
‫server Ubuntu.
‫Jadi, Anda dapat membayangkan bahwa jika saya
‫mengelola banyak server lain, saya tidak selalu ingin ssh
‫ke mesin-mesin itu. Saya benar-benar hanya ingin duduk di komputer lokal saya
‫dan berbicara dengan API jarak jauh itu.
‫Anda dapat menggunakan perintah konfigurasi kubectl dengan salah satu
‫opsi yang ditetapkan. Anda pasti ingin
‫melihat bantuan di sana. Tapi, ada opsi yang ditetapkan
‫untuk mengatur default untuk masing-masing, sehingga Anda
‫dapat berpotensi mengubah pengguna untuk memiliki
‫otentikasi yang berbeda. Jadi, mungkin Anda memiliki
‫hak Tuhan alih-alih hanya sebagian dari perintah yang dapat
‫dijalankan Kubernetes. Atau, mungkin Anda akan mengubah cluster
‫yang Anda ajak bicara.
‫Bahkan ada plugin baris perintah jika Anda melihat-lihat
‫di Google untuk memungkinkan Anda
‫melihat di shell Anda konteks mana yang Anda gunakan.
‫Itu agak berguna ketika Anda akhirnya mengelola sejumlah besar
‫kelompok yang berbeda. Anda ingin tahu, hei yang
‫mana yang sedang saya ajak bicara sekarang? Anda benar-benar dapat mengatur
‫itu, seperti bagaimana mendapatkan petunjuknya akan memberi tahu Anda
‫apa cabang Anda. Ini akan memberi tahu Anda, dalam prompt Anda,
‫konteks apa yang Anda miliki.