praktik paling apik Kubernetes. Organisasi Kubernetes kanthi namespace

praktik paling apik Kubernetes. Nggawe wadhah cilik

Nalika sampeyan miwiti nggawe layanan Kubernetes liyane lan liyane, tugas sing wiwitane prasaja wiwit dadi luwih rumit. Contone, tim pangembangan ora bisa nggawe layanan utawa panyebaran kanthi jeneng sing padha. Yen sampeyan duwe ewonan polong, mung nyathet bakal butuh wektu akeh, apa maneh ngatur kanthi bener. Lan iki mung pucuk gunung es.

Ayo ndeleng carane namespace nggampangake ngatur sumber daya Kubernetes. Dadi apa namespace? Namespace bisa dianggep minangka kluster virtual ing kluster Kubernetes sampeyan. Sampeyan bisa duwe sawetara spasi jeneng sing diisolasi saka siji liyane ing siji kluster Kubernetes. Dheweke pancen bisa nulungi sampeyan lan tim sampeyan babagan organisasi, keamanan, lan uga kinerja sistem.

praktik paling apik Kubernetes. Organisasi Kubernetes kanthi namespace

Ing umume distribusi Kubernetes, kluster kasebut metu saka kothak kanthi spasi jeneng sing diarani "standar". Sejatine ana telung ruang jeneng sing ditangani Kubernetes: standar, kube-system, lan kube-public. Saiki, Kube-publik ora kerep digunakake.

praktik paling apik Kubernetes. Organisasi Kubernetes kanthi namespace

Ninggalake ruang jeneng kube mung minangka ide sing apik, utamane ing sistem sing dikelola kaya Google Kubernetes Engine. Iki nggunakake ruang jeneng "standar" minangka papan ing ngendi layanan lan aplikasi sampeyan digawe. Pancen ora ana sing khusus, kajaba Kubernetes dikonfigurasi metu saka kothak kanggo nggunakake, lan sampeyan ora bisa nyopot. Iki apik kanggo miwiti lan sistem kinerja kurang, nanging aku ora nyaranake nggunakake namespace standar ing sistem prod gedhe. Ing kasus pungkasan, siji tim pangembang bisa kanthi gampang nulis ulang kode wong liya lan ngrusak karya tim liyane tanpa ngerti.

Mula, sampeyan kudu nggawe macem-macem ruang jeneng lan gunakake kanggo nggawe segmen layanan dadi unit sing bisa diatur. Ruang jeneng bisa digawe kanthi printah siji. Yen sampeyan pengin nggawe namespace sing dijenengi test, banjur gunakake perintah $ kubectl create namespace test utawa mung gawe file YAML lan gunakake kaya sumber daya Kubernetes liyane.

praktik paling apik Kubernetes. Organisasi Kubernetes kanthi namespace

Sampeyan bisa ndeleng kabeh spasi jeneng nggunakake perintah $ kubectl get namespace.

praktik paling apik Kubernetes. Organisasi Kubernetes kanthi namespace

Yen wis rampung, sampeyan bakal weruh telung ruang jeneng sing dibangun lan ruang jeneng anyar sing diarani "tes". Ayo goleki file YAML sing prasaja kanggo nggawe pod. Sampeyan bakal sok dong mirsani sing ora ana sebutno namespace.

praktik paling apik Kubernetes. Organisasi Kubernetes kanthi namespace

Yen sampeyan nggunakake kubectl kanggo mbukak file iki, bakal nggawe modul mypod ing namespace saiki aktif. Iki bakal dadi papan jeneng standar nganti sampeyan ngganti. Ana 2 cara kanggo ngandhani Kubernetes ing ruang jeneng apa sampeyan pengin nggawe sumber daya. Cara pisanan yaiku nggunakake gendera namespace nalika nggawe sumber daya.

praktik paling apik Kubernetes. Organisasi Kubernetes kanthi namespace

Cara kapindho yaiku nemtokake spasi jeneng ing deklarasi YAML.

praktik paling apik Kubernetes. Organisasi Kubernetes kanthi namespace

Yen sampeyan nemtokake namespace ing YAML, sumber daya bakal tansah digawe ing namespace kasebut. Yen sampeyan nyoba nggunakake papan jeneng sing beda nalika nggunakake gendera namespace, printah kasebut bakal gagal. Saiki yen sampeyan nyoba nemokake pod sampeyan, sampeyan ora bakal bisa.

praktik paling apik Kubernetes. Organisasi Kubernetes kanthi namespace

Iki kedadeyan amarga kabeh printah dieksekusi ing njaba ruang jeneng sing saiki aktif. Kanggo nemokake pod sampeyan, sampeyan kudu nggunakake gendera namespace, nanging iki bakal cepet mboseni, utamane yen sampeyan minangka pangembang ing tim sing nggunakake ruang jeneng dhewe lan ora pengin nggunakake gendera kasebut kanggo saben printah. Ayo ndeleng carane kita bisa ndandani iki.

praktik paling apik Kubernetes. Organisasi Kubernetes kanthi namespace

Saka kothak kasebut, ruang jeneng aktif sampeyan diarani standar. Yen sampeyan ora nemtokake spasi jeneng ing sumber daya YAML, kabeh printah Kubernetes bakal nggunakake spasi jeneng standar aktif iki. Sayange, nyoba ngatur ruang jeneng aktif nggunakake kubectl bisa gagal. Nanging, ana alat sing apik banget sing diarani Kubens sing nggawe proses iki luwih gampang. Nalika sampeyan mbukak printah kubens, sampeyan bakal weruh kabeh namespaces karo namespace aktif disorot.

praktik paling apik Kubernetes. Organisasi Kubernetes kanthi namespace

Kanggo ngalih namespace aktif menyang namespace test, sampeyan mung mbukak printah test $ kubens. Yen sampeyan banjur mbukak printah $kubens maneh, sampeyan bakal weruh sing jeneng aktif anyar saiki diparengake - test.

praktik paling apik Kubernetes. Organisasi Kubernetes kanthi namespace

Iki tegese sampeyan ora mbutuhake flag namespace kanggo ndeleng pod ing namespace test.

praktik paling apik Kubernetes. Organisasi Kubernetes kanthi namespace

Kanthi cara iki, spasi jeneng didhelikake saka siji liyane, nanging ora diisolasi saka siji liyane. Layanan ing siji ruang jeneng bisa komunikasi kanthi gampang karo layanan ing ruang jeneng liyane, sing asring banget migunani. Kemampuan kanggo komunikasi ing macem-macem ruang jeneng tegese layanan pangembang sampeyan bisa komunikasi karo layanan tim dev liyane ing ruang jeneng sing beda.

Biasane, nalika aplikasi sampeyan pengin ngakses layanan Kubernetes, sampeyan nggunakake layanan panemuan DNS sing dibangun lan mung menehi jeneng layanan kasebut. Nanging, kanthi nglakoni, sampeyan bisa nggawe layanan kanthi jeneng sing padha ing pirang-pirang ruang jeneng, sing ora bisa ditampa.

praktik paling apik Kubernetes. Organisasi Kubernetes kanthi namespace

Untunge, iki gampang diubengi kanthi nggunakake alamat DNS sing ditambahi. Layanan ing Kubernetes mbukak titik pungkasan nggunakake cithakan DNS umum. Iku katon kaya iki:

praktik paling apik Kubernetes. Organisasi Kubernetes kanthi namespace

Biasane, sampeyan mung butuh jeneng layanan lan DNS bakal nemtokake alamat lengkap kanthi otomatis.

praktik paling apik Kubernetes. Organisasi Kubernetes kanthi namespace

Nanging, yen sampeyan kudu ngakses layanan ing ruang jeneng sing beda, gunakake jeneng layanan ditambah jeneng ruang jeneng:

praktik paling apik Kubernetes. Organisasi Kubernetes kanthi namespace

Contone, yen sampeyan pengin nyambung menyang database layanan ing namespace test, sampeyan bisa nggunakake database alamat database.test

praktik paling apik Kubernetes. Organisasi Kubernetes kanthi namespace

Yen sampeyan pengin nyambung menyang database layanan ing namespace prod, sampeyan nggunakake database.prod.

praktik paling apik Kubernetes. Organisasi Kubernetes kanthi namespace

Yen sampeyan pancene pengin ngisolasi lan mbatesi akses namespace, Kubernetes ngidini sampeyan nindakake iki nggunakake Kabijakan Jaringan Kubernetes. Aku bakal ngomong babagan iki ing episode sabanjure.

Aku kerep ditakoni, pira spasi jeneng sing kudu dakgawe lan kanggo tujuan apa? Apa potongan data sing dikelola?

Yen sampeyan nggawe akeh banget spasi jeneng, mung bakal ngganggu sampeyan. Yen ana sawetara banget, sampeyan bakal kelangan kabeh keuntungan saka solusi kasebut. Aku mikir ana papat tahapan utama sing ditindakake saben perusahaan nalika nggawe struktur organisasi. Gumantung ing tahap pangembangan proyek utawa perusahaan sampeyan, sampeyan bisa uga pengin nggunakake strategi namespace sing cocog.

Mbayangno yen sampeyan minangka bagean saka tim cilik sing nggarap ngembangake 5-10 microservices lan sampeyan bisa kanthi gampang ngumpulake kabeh pangembang ing sak kamar. Ing kahanan iki, iku ndadekake pangertèn kanggo mbukak kabeh layanan prod ing namespace standar. Mesthine, kanggo luwih fleksibel, sampeyan bisa nggunakake 2 ruang jeneng - kanthi kapisah kanggo prod lan dev. Lan paling kamungkinan, sampeyan nyoba pangembangan ing komputer lokal nggunakake kaya Minikube.

Ayo dadi owah-owahan lan sampeyan saiki duwe tim sing berkembang kanthi cepet sing nggarap luwih saka 10 layanan mikro sekaligus. Ana wektu nalika perlu nggunakake sawetara klompok utawa ruang jeneng, kanthi kapisah kanggo prod lan dev. Sampeyan bisa ngilangi tim kasebut dadi sawetara sub-tim supaya saben duwe layanan mikro dhewe lan saben tim kasebut bisa milih ruang jeneng dhewe kanggo nggampangake proses ngatur pangembangan lan rilis piranti lunak.

praktik paling apik Kubernetes. Organisasi Kubernetes kanthi namespace

Nalika saben anggota tim entuk kawruh babagan cara kerjane sistem kanthi sakabehe, dadi luwih angel kanggo koordinasi saben owah-owahan karo kabeh pangembang liyane. Nyoba kanggo muter munggah tumpukan lengkap ing mesin lokal saya harder saben dina.

Ing perusahaan gedhe, pangembang umume ora ngerti sapa sing kerjane. Tim komunikasi nggunakake kontrak layanan utawa nggunakake teknologi bolong layanan, sing nambah lapisan abstraksi liwat jaringan, kayata alat konfigurasi Istio. Nyoba nglakokake tumpukan kabeh sacara lokal ora mungkin. Aku banget nyaranake nggunakake platform pangiriman (CD) sing terus-terusan kaya Spinnaker ing Kubernetes. Dadi, ana titik ing ngendi saben printah mesthi mbutuhake ruang jeneng dhewe. Saben tim malah bisa milih sawetara ruang jeneng kanggo lingkungan dev lan lingkungan prod.

Pungkasan, ana perusahaan wirausaha gedhe sing siji klompok pangembang ora ngerti babagan anane klompok liyane. Perusahaan kasebut umume bisa nyewa pangembang pihak katelu sing sesambungan liwat API sing didokumentasikake kanthi apik. Saben klompok kasebut ngemot sawetara tim lan sawetara layanan mikro. Ing kasus iki, sampeyan kudu nggunakake kabeh alat sing dakkandhakake sadurunge.

praktik paling apik Kubernetes. Organisasi Kubernetes kanthi namespace

Programer ngirim ora nyebarake layanan kanthi manual lan ora duwe akses menyang ruang jeneng sing ora ana gandhengane. Ing tahap iki, disaranake duwe sawetara klompok kanggo nyuda "radius jeblugan" saka aplikasi sing ora dikonfigurasi, kanggo nyederhanakake proses tagihan lan manajemen sumber daya.

Dadi, panggunaan spasi jeneng sing tepat dening organisasi sampeyan ngidini sampeyan nggawe Kubernetes luwih bisa diatur, bisa dikontrol, aman, lan fleksibel.

praktik paling apik Kubernetes. Validasi Kubernetes Liveness kanthi Tes Kesiapan lan Liveness

Sawetara iklan πŸ™‚

Matur nuwun kanggo tetep karo kita. Apa sampeyan seneng karo artikel kita? Pengin ndeleng konten sing luwih menarik? Ndhukung kita kanthi nggawe pesenan utawa menehi rekomendasi menyang kanca, cloud VPS kanggo pangembang saka $4.99, analog unik saka server level entri, sing diciptakake kanggo sampeyan: Bebener kabeh babagan VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps saka $ 19 utawa carane nuduhake server? (kasedhiya karo RAID1 lan RAID10, munggah 24 intine lan nganti 40GB DDR4).

Dell R730xd 2 kaping luwih murah ing pusat data Equinix Tier IV ing Amsterdam? Mung kene 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV saka $199 ing Walanda! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - saka $99! Maca babagan Carane mbangun infrastruktur corp. kelas karo nggunakake Dell R730xd E5-2650 v4 server worth 9000 euro kanggo Penny?

Source: www.habr.com

Add a comment