"Naon bédana antara Kubernetes sareng OpenShift?" - patarosan ieu timbul kalawan konsistensi enviable. Sanajan dina kanyataanana ieu kawas nanyakeun kumaha mobil béda ti mesin. Upami urang neraskeun analogi, maka mobil mangrupikeun produk réngsé, anjeun tiasa langsung dianggo, sacara harfiah: asup sareng angkat. Di sisi anu sanésna, supados mesin tiasa nyandak anjeun ka mana waé, éta kedah ditambihan heula ku seueur hal-hal sanés supados pamustunganana kéngingkeun mobil anu sami.
Ku alatan éta, Kubernetes nyaéta mesin sabudeureun nu OpenShift brand mobil (platform) dirakit, nu mawa anjeun ka tujuan anjeun.
Dina artikel ieu kami hoyong ngingetkeun anjeun sareng marios poin-poin konci di handap ieu sacara langkung rinci:
- Kubernetes mangrupikeun jantung platform OpenShift sareng Kubernetes sertipikat 100%, sumber terbuka lengkep sareng tanpa sipat proprietary sakedik. singgetna:
- OpenShift cluster API nyaeta XNUMX% Kubernetes.
- Upami wadahna dijalankeun dina sistem Kubernetes anu sanés, maka éta bakal dijalankeun dina OpenShift tanpa parobihan. Teu perlu nyieun parobahan kana aplikasi.
- OpenShift henteu ngan ukur nambihan fitur sareng fungsionalitas anu mangpaat pikeun Kubernetes. Kawas mobil, OpenShift out of the box, tiasa langsung di produksi, sareng, sakumaha anu bakal kami tunjukkeun di handap, ngajantenkeun kahirupan pamekar langkung gampang. Éta sababna OpenShift dihijikeun dina dua jalma. Éta mangrupikeun platform PaaS kelas perusahaan anu suksés sareng terkenal tina sudut pandang pamekar. Sareng dina waktos anu sami, éta mangrupikeun solusi Container-as-a-Service super-dipercaya tina sudut pandang operasi industri.
OpenShift nyaeta Kubernetes kalawan 100% sertifikasi CNCF
OpenShift dumasar kana
Anjeun panginten parantos nguping ngeunaan utilitas garis paréntah OpenShift anu disebut OC. Éta sapinuhna paréntah cocog sareng kubectl, ditambah ogé nawiskeun sababaraha pembantu anu mangpaat anu bakal mangpaat nalika ngalaksanakeun sababaraha pancén. Tapi ke heula, sakedik langkung seueur ngeunaan kasaluyuan OC sareng kubectl:
paréntah kubectl
Tim OC
kubectl meunang peuteuy
oc meunang pods
kubectl meunang ngaranspasi
oc meunang namespaces
kubectl nyieun -f deployment.yaml
oc nyieun -f deployment.yaml
Ieu kumaha hasil ngagunakeun kubectl dina OpenShift API sapertos kieu:
• kubectl meunang pods - mulih pods saperti nu diharapkeun.
• kubectl meunang namespaces - mulih namespaces saperti nu diharapkeun.
Paréntah kubectl create -f mydeployment.yaml nyiptakeun sumber daya kubernetes sapertos dina platform Kubernetes anu sanés, sapertos anu dipidangkeun dina pidéo di handap ieu:
Kalayan kecap sanésna, sadaya API Kubernetes sayogi sayogi dina OpenShift bari ngajaga kasaluyuan 100%. Kusabab éta
OpenShift nambihan fitur mangpaat pikeun Kubernetes
API Kubernetes 100% sayogi dina OpenShift, tapi kubectl utilitas Kubernetes standar jelas kurang fungsionalitas sareng genah. Éta sababna Red Hat parantos nambihan fitur anu mangpaat sareng alat-alat paréntah pikeun Kubernetes, sapertos OC (singketan pikeun klien OpenShift) sareng ODO (OpenShift DO, utilitas ieu ditujukeun pikeun pamekar).
1. Utiliti OC - versi Kubectl anu leuwih kuat sarta merenah
Contona, teu kawas kubectl, eta ngidinan Anjeun pikeun nyieun namespaces anyar jeung gampang pindah konteks, sarta ogé nawarkeun sababaraha paréntah mangpaat pikeun pamekar, kayaning ngawangun gambar wadahna sarta deploying aplikasi langsung ti kode sumber atawa binaries (Sumber-to-gambar, s2i).
Hayu urang tingali conto kumaha asisten anu diwangun sareng fungsionalitas canggih tina utilitas OC ngabantosan nyederhanakeun padamelan sapopoé.
Conto kahiji nyaéta manajemén namespace. Unggal klaster Kubernetes salawasna mibanda sababaraha spasi ngaran. Aranjeunna biasana dipaké pikeun nyieun lingkungan ngembangkeun sarta produksi, tapi ogé bisa dipaké pikeun, contona, nyadiakeun unggal pamekar jeung sandbox pribadi. Dina prakna, ieu ngakibatkeun pamekar kudu remen pindah antara spasi ngaran, saprak kubectl dijalankeun dina konteks spasi ayeuna. Ku alatan éta, dina kasus kubectl, jalma aktip ngagunakeun skrip helper pikeun ieu. Tapi lamun maké OC, mun pindah ka spasi dipikahoyong, ngan nyebutkeun "oc project namespace".
Henteu émut naon nami rohangan anu anjeun peryogikeun? Henteu aya masalah, ketik "oc get projects" pikeun nampilkeun daptar lengkep. Skeptis wondering kumaha ieu bakal dianggo lamun ngan boga aksés ka sawaréh kawates namespaces on kluster? Nya, sabab kubectl ngan ukur ngalakukeun ieu leres upami RBAC ngamungkinkeun anjeun ningali sadaya rohangan dina kluster, sareng dina klaster ageung henteu sadayana dipasihan idin sapertos kitu. Janten, urang ngajawab: pikeun OC ieu sanés masalah sareng éta bakal gampang ngahasilkeun daptar lengkep dina kaayaan sapertos kitu. Ieu hal-hal alit anu ngawangun orientasi perusahaan tina Openshift sareng skalabilitas anu hadé tina platform ieu dina hal pangguna sareng aplikasi.
2. ODO - pérsi ningkat kubectl pikeun pamekar
Conto sanésna perbaikan Red Hat OpenShift dina Kubernetes nyaéta utilitas garis paréntah ODO. Éta dirancang pikeun pamekar sareng ngamungkinkeun anjeun gancang nyebarkeun kode lokal kana klaster OpenShift jauh. Éta ogé tiasa nyéépkeun prosés internal pikeun langsung nyingkronkeun sadaya parobihan kode kana wadah dina klaster OpenShift jauh tanpa kedah ngawangun deui, ngadaptar, sareng nyebarkeun gambar.
Hayu urang tingali kumaha OC sareng ODO ngajantenkeun damel sareng wadah sareng Kubernetes langkung gampang.
Bandingkeun sababaraha alur kerja nalika aranjeunna diwangun dina dasar kubectl, sareng nalika OC atanapi ODO dianggo.
• Deployment of code on OpenShift for those who does not speak YAML:
Kubernetes/kubectl
$> git klon
1- Jieun Dockerfile anu ngawangun gambar tina kode
-----
TI titik
WORKDIR /usr/src/app
COPY paket*.json ./
COPY index.js ./
COPY ./app ./app
RUN npm install
EXPOSE 3000
CMD [ "npm", "mimitian" ] ————–
2- Urang ngawangun gambar
$> ngawangun podman...
3- Login ka pendaptaran
login podman...
4- Teundeun gambar dina pendaptaran
nyorong podman
5- Jieun file yaml pikeun panyebaran aplikasi (deployment.yaml, service.yaml, ingress.yaml) - ieu mangrupikeun minimum mutlak
6- Nyebarkeun file manifest:
Kubectl nerapkeun -f .
OpenShift/oc
$> oc anyar-aplikasi
OpenShift/odo
$> git klon
$> odo nyieun komponén nodejs myapp
$> odo nyorong
• Konteks switch: ngarobah spasi ngaran karya atawa klaster karya.
Kubernetes/kubectl
1- Jieun kontéks dina kubeconfig pikeun proyék "myproject"
2- kubectl set-context…
OpenShift/oc
oc proyék "myproject"
Kontrol kualitas: "Hiji fitur anu pikaresepeun parantos muncul di dieu, masih dina versi alfa. Meureun urang tiasa nempatkeun kana produksi?"
Bayangkeun anjeun linggih dina mobil balap sareng diwartosan: "Kami parantos masang jinis rem énggal sareng, jujur, réliabilitasna henteu acan leres ... Tapi tong hariwang, kami bakal aktip ningkatkeun aranjeunna salami kursus. kajuaraan.” Kumaha anjeun resep prospek ieu? Simkuring di Red Hat kumaha bae teu pisan senang. 🙂
Ku alatan éta, urang nyobian nahan kaluar dina versi alfa dugi aranjeunna cukup dewasa sarta kami geus rengse nguji perang teleb tur ngarasa aranjeunna aman ngagunakeun. Biasana, sadayana ngalangkungan tahap Dev Preview heula, teras ngalangkungan
Kunaon éta? Kusabab, sakumaha sareng pamekaran parangkat lunak sanés, henteu sadayana ideu awal dina Kubernetes ngahontal rilis ahir. Atawa aranjeunna ngahontal eta komo nahan pungsionalitas dimaksudkeun, tapi palaksanaan maranéhanana nyaéta radikal béda ti nu dina versi alfa. Kalayan rébuan konsumén Red Hat nganggo OpenShift pikeun ngadukung beban kerja anu penting-misi, kami nempatkeun tekenan khusus dina stabilitas platform sareng dukungan jangka panjang.
Red Hat komitmen pikeun sering ngaleupaskeun OpenShift sareng ngamutahirkeun versi Kubernetes anu disarengan ku éta. Contona, pelepasan GA ayeuna OpenShift 4.3 dina waktu tulisan ieu ngawengku Kubernetes 1.16, nu ngan hiji unit balik versi hulu Kubernetes jumlahna 1.17. Ku kituna, urang nyobian nyadiakeun customer kalawan Kubernetes-kelas perusahaan tur nyadiakeun kadali kualitas tambahan salila release versi anyar tina OpenShift.
Perbaikan parangkat lunak: "Aya liang dina versi Kubernetes anu kami produksi. Sareng anjeun tiasa nutup éta ngan ku ngamutahirkeun tilu versi. Atawa aya pilihan naon?
Dina proyék open source Kubernetes, perbaikan parangkat lunak biasana dileupaskeun salaku bagian tina sékrési salajengna, sakapeung nyertakeun hiji atanapi dua sékrési milestone sateuacana, masihan sinyalna dugi ka 6 bulan.
Red Hat bangga dina ngaleupaskeun perbaikan kritis langkung awal tibatan anu sanés sareng nyayogikeun dukungan langkung lami. Contona, kubernetes kerentanan eskalasi hak husus (
Kahareupna
Kumaha OpenShift sareng Red Hat ngagerakkeun Kubernetes ka hareup
Red Hat mangrupikeun kontributor parangkat lunak kadua panggedéna pikeun proyék open source Kubernetes, di tukangeun ngan Google, kalayan 3 tina 5 pamekar anu paling produktif asalna tina Red Hat. Kanyataan sejen anu teu dipikanyaho: seueur fungsi kritis anu muncul dina Kubernetes persis dina inisiatif Red Hat, khususna, sapertos:
- RBAC. Kubernetes henteu ngagaduhan fungsi RBAC (ClusterRole, ClusterRoleBinding) dugi ka insinyur Red Hat mutuskeun pikeun nerapkeunana salaku bagian tina platform éta sorangan, sanés salaku fungsionalitas OpenShift tambahan. Naha Red Hat sieun ningkatkeun Kubernetes? Tangtosna henteu, sabab Red Hat mastikeun nuturkeun prinsip open source sareng henteu maén kaulinan Open Core. Perbaikan sareng inovasi anu didorong ku komunitas pamekaran, tinimbang anu proprietary, langkung giat sareng langkung seueur diadopsi, anu saluyu sareng tujuan inti urang pikeun ngajantenkeun parangkat lunak open source langkung mangpaat pikeun konsumén urang.
- Kabijakan Kaamanan pikeun pods (Kabijakan Kaamanan Pod). Konsep ieu ngajalankeun aplikasi aman di jero pods mimitina dilaksanakeun di OpenShift handapeun ngaran SCC (Konstrain Konteks Kaamanan). Sareng sapertos dina conto sateuacana, Red Hat mutuskeun pikeun ngenalkeun kamajuan ieu kana proyék Kubernetes kabuka supados sadayana tiasa ngagunakeunana.
Runtuyan conto ieu tiasa diteruskeun, tapi kami ngan ukur hoyong nunjukkeun yén Red Hat leres-leres komitmen pikeun ngembangkeun Kubernetes sareng ngajantenkeun langkung saé pikeun sadayana.
Ieu jelas yén OpenShift nyaéta Kubernetes. Naon bédana? 🙂
Kami ngarepkeun ku maca dugi ka ieu anjeun sadar yén Kubernetes mangrupikeun komponén inti OpenShift. Anu utama, tapi jauh tina hiji-hijina. Kalayan kecap sanésna, ngan saukur masang Kubernetes moal masihan anjeun platform kelas perusahaan. Anjeun kedah nambihan auténtikasi, jaringan, kaamanan, ngawaskeun, manajemén log, sareng seueur deui. Tambih Deui, anjeun kedah ngadamel sababaraha pilihan tangguh tina sajumlah ageung alat anu sayogi (pikeun ngahargaan karagaman ékosistem, tingali
Tapi dina kasus OpenShift, Red Hat nyandak sadayana pajeulitna ieu nyalira sareng ngan ukur masihan anjeun platform fungsional anu lengkep, anu kalebet henteu ngan ukur Kubernetes sorangan, tapi ogé sakumna set alat open source anu diperyogikeun anu ngajantenkeun Kubernetes janten kelas perusahaan nyata. solusi anu anjeun tiasa langsung sareng lengkep tenang ngajalankeun kana produksi. Sareng tangtosna, upami anjeun gaduh sababaraha tumpukan téknologi anjeun nyalira, maka anjeun tiasa ngahijikeun OpenShift kana solusi anu tos aya.
Tingali dina gambar di luhur: sagalana nu aya di luar sagi opat Kubernetes nyaeta dimana Red Hat nambihan fungsionalitas nu Kubernetes teu boga, sabab nyebutkeun, ku-desain. Tur ayeuna urang bakal kasampak di utama wewengkon ieu.
1. OS mantap salaku basa: RHEL CoreOS atanapi RHEL
Red Hat parantos janten panyayogikeun distribusi Linux pikeun aplikasi kritis bisnis salami langkung ti 20 taun. Pangalaman anu akumulasi sareng terus-terusan diropéa di daérah ieu ngamungkinkeun urang nawiskeun dasar anu leres-leres dipercaya sareng dipercaya pikeun operasi industri wadah. RHEL CoreOS nganggo kernel anu sami sareng RHEL, tapi dioptimalkeun utamina pikeun tugas-tugas sapertos ngajalankeun wadah sareng ngajalankeun klaster Kubernetes: ukuranana anu dikirangan sareng immutability ngagampangkeun nyetél klaster, autoscaling, nyebarkeun patch, jsb. yayasan idéal pikeun nganteurkeun pangalaman pamaké sarua jeung OpenShift sakuliah rupa-rupa lingkungan komputasi, ti logam bulistir ka awan swasta jeung umum.
2. Automation tina operasi IT
Otomatisasi prosés pamasangan sareng operasi dinten-4 (nyaéta, operasi sadinten-dinten) mangrupikeun titik kuat OpenShift, sahingga langkung gampang pikeun ngatur, ngapdet, sareng ngajaga kinerja platform wadahna dina tingkat anu paling luhur. Ieu kahontal ngaliwatan dukungan pikeun operator Kubernetes dina tingkat kernel OpenShift XNUMX.
OpenShift 4 ogé mangrupikeun ékosistem solusi dumasar kana operator Kubernetes, dikembangkeun ku Red Hat sorangan sareng ku mitra pihak katilu (tingali.
Katalog OpenShift 4 terpadu ngawengku leuwih ti 180 operator Kubernetes
3. Pakakas pamekar
Kusabab 2011, OpenShift parantos sayogi salaku platform PaaS (Platform-as-a-Service) anu ngagampangkeun kahirupan pikeun pamekar, ngabantosan aranjeunna fokus kana coding, sareng nawiskeun dukungan asli pikeun basa pamrograman sapertos Java, Node.js. , PHP, Ruby, Python, Go, kitu ogé CI/CD integrasi kontinyu sarta jasa pangiriman, database, jsb OpenShift 4 nawarkeun
Beda sareng Kubernetes, OpenShift 4 gaduh GUI khusus (
Salaku tambahan, OpenShift nawiskeun sakumpulan alat pangembangan Codeready, anu khususna kalebet
IDE terpadu salaku layanan pikeun ngembangkeun efisien dina platform Kubernetes / OpenShift
OpenShift nawiskeun sistem CI / CD lengkep langsung tina kotak, boh dumasar kana wadahna Jenkins sareng plugin.
4. Pakakas Aplikasi
OpenShift ngidinan Anjeun pikeun nyebarkeun duanana aplikasi stateful tradisional jeung solusi dumasar-awan dumasar kana arsitéktur anyar, kayaning microservices atanapi serverless. Solusi OpenShift Service Mesh asalna langsung tina kotak kalayan alat konci pikeun ngajaga microservices, sapertos Istio, Kiali sareng Jaeger. Sabalikna, solusi OpenShift Serverless kalebet henteu ngan ukur Knative, tapi ogé alat sapertos Keda didamel salaku bagian tina inisiatif gabungan sareng Microsoft pikeun nyayogikeun fungsi Azure dina platform OpenShift.
Solusi terpadu OpenShift ServiceMesh (Istio, Kiali, Jaeger) bakal mangpaat nalika ngembangkeun microservices.
Pikeun ngajagi jurang antara aplikasi sareng wadah warisan, OpenShift ayeuna ngamungkinkeun migrasi mesin virtual ka platform OpenShift nganggo Container Native Virtualization (ayeuna aya dina TechPreview), ngajantenkeun aplikasi hibrid janten kanyataan sareng ngagampangkeun migrasina antara awan anu béda, boh swasta sareng umum.
Mesin virtual Windows 2019 dijalankeun dina OpenShift via Container Native Virtualization (ayeuna dina versi sawangan Tech)
5. Pakakas pikeun klaster
Sakur platform kelas perusahaan kedah gaduh jasa monitoring sareng logging terpusat, mékanisme kaamanan, auténtikasi sareng otorisasi, sareng alat manajemén jaringan. Sareng OpenShift nyayogikeun sadayana ieu tina kotak, sareng éta sadayana 100% open source, kalebet solusi sapertos ElasticSearch, Prometheus, Grafana. Sadaya solusi ieu hadir sareng dasbor, métrik, sareng panggeuing anu parantos diwangun sareng dikonpigurasi nganggo kaahlian ngawaskeun klaster éksténsif Red Hat, ngamungkinkeun anjeun sacara efektif ngadalikeun sareng ngawas lingkungan produksi anjeun ti mimiti.
OpenShift ogé janten standar sareng hal-hal penting pikeun konsumén perusahaan sapertos auténtikasi sareng panyadia oauth anu diwangun, integrasi sareng panyadia kredensial, kalebet LDAP, ActiveDirectory, OpenID Connect, sareng seueur deui.
Dasbor Grafana tos dikonpigurasi pikeun ngawaskeun kluster OpenShift
Langkung ti 150 métrik Prometheus anu tos dikonpigurasikeun sareng panggeuing pikeun ngawaskeun kluster OpenShift
bisa terus
Fungsionalitas solusi anu beunghar sareng pangalaman éksténsif Red Hat dina widang Kubernetes mangrupikeun alesan kunaon OpenShift parantos ngahontal posisi anu dominan di pasar, sapertos anu dipidangkeun dina gambar di handap ieu (baca deui)
"Red Hat ayeuna mingpin pasar kalayan pangsa 44%.
Pausahaan ieu metik mangpaat tina strategi jualan customer-centric na, dimana mimiti consults sarta ngalatih pamekar perusahaan lajeng pindah ka monetization salaku perusahaan mimiti nyebarkeun wadahna kana produksi ".
(Sumber:
Kami ngarepkeun anjeun resep kana tulisan ieu. Dina tulisan anu bakal datang dina séri ieu, urang bakal ningali deui mangpaat OpenShift pikeun Kubernetes dina unggal kategori anu dibahas di dieu.
sumber: www.habr.com