OpenShift mar leagan fiontair de Kubernetes. Cuid 1

“Cad é an difríocht idir Kubernetes agus OpenShift?” – eascraíonn an cheist seo le comhsheasmhacht inmhaíte. Cé gur i ndáiríre tá sé seo cosúil le fiafraí cén difríocht atá idir carr agus inneall. Má leanaimid ar aghaidh leis an analaí, ansin is táirge críochnaithe é carr, is féidir leat é a úsáid láithreach, go litriúil: téigh isteach agus téigh. Ar an láimh eile, chun go dtógfaidh inneall tú áit éigin, ní mór é a fhorlíonadh ar dtús le go leor rudaí eile chun an carr céanna a fháil ar deireadh thiar.

OpenShift mar leagan fiontair de Kubernetes. Cuid 1

Поэтому Kubernetes – это такой двигатель, вокруг которого собран автомобиль (платформа) марки OpenShift, который и везет вас к цели.

В этой статье мы хотим напомнить и чуть подробнее разобрать следующие ключевые моменты:

  • Kubernetes – это сердце платформы OpenShift И это на 100% сертифицированный Kubernetes, с полностью открытым кодом и без малейшей проприетарности. Вкратце:
    • Is é an API braisle OpenShift ná XNUMX% Kubernetes.
    • Если контейнер работает в любой другой системе Kubernetes, то он без каких-либо изменений будет работать и на OpenShift. Вносить изменения в приложения не нужно.
  • Ní hamháin go gcuireann OpenShift gnéithe agus feidhmiúlacht úsáideach le Kubernetes. Cosúil le carr, tá OpenShift as an mbosca, is féidir é a chur i dtáirgeadh láithreach, agus, mar a léireoidh muid thíos, déanann sé saol an fhorbróra i bhfad níos éasca. Sin é an fáth go bhfuil OpenShift aontaithe i mbeirt. Is ardán PaaS den aicme fiontraíochta rathúil é agus a bhfuil aithne mhór air ó thaobh an fhorbróra de. Agus ag an am céanna, is réiteach Super-iontaofa Coimeádán-mar-Seirbhís é ó thaobh na hoibríochta tionscail.

Is Kubernetes é OpenShift le deimhniú CNCF 100%.

Tá OpenShift bunaithe ar Kubernetes deimhnithe. Поэтому после соответствующего обучения пользователи восхищаются мощью kubectl. А те, кто перешел на OpenShift с Kubernetes Cluster, часто говорят, как им очень нравится, что после перенаправления kubeconfig на кластер OpenShift, все имеющиеся скрипты работают безупречно.

Вы наверняка слышали про OpenShift’овскую утилиту командной строки под названием OC. Она полностью совместима по командам с kubectl, плюс, предлагает несколько полезных helper’ов, которые пригодятся при выполнении целого ряда задач. Но вначале чуть подробнее о совместимости OC и kubectl:

orduithe kubectl
Foirne OC

faigh pods kubectl
oc faigh pods

kubectl fháil spásanna ainmneacha
oc faigh spásanna ainmneacha

kubectl cruthaigh -f imscaradh.yaml
oc cruthaigh -f imscaradh.yaml

Seo an chuma atá ar thorthaí úsáid kubectl ar an OpenShift API:

• kubectl get pods – вполне ожидаемо возвращает pod’ы.

OpenShift mar leagan fiontair de Kubernetes. Cuid 1

• kubectl get namespaces – вполне ожидаемо возвращает пространства имен.

OpenShift mar leagan fiontair de Kubernetes. Cuid 1
Команда kubectl create -f mydeployment.yaml создает kubernetes-ресурсы точно так же, как на и на любой другой Kubernetes-платформе, как показано в видео ниже:


Иначе говоря, все Kubernetes’овские API полностью доступны в OpenShift с сохранением 100% совместимости. Именно поэтому OpenShift признан сертифицированной Kubernetes-платформой фондом Cloud Native Computing Foundation (CNCF). 

Cuireann OpenShift gnéithe úsáideacha le Kubernetes

Kubernetes’овские API на 100% доступны в OpenShift, но вот штатной Kubernetes’овской утилите kubectl явно не достает функциональности и удобства. Поэтому Red Hat дополнил Kubernetes полезными функциями и инструментами командной строки, такими как OC (сокращение от OpenShift client) и ODO (OpenShift DO, эта утилита предназначена для разработчиков).

1. OC fóntais - leagan níos cumhachtaí agus áisiúil de Kubectl

Например, в отличие от kubectl, она позволяет создавать новые пространства имен и легко переключать контекст, а также предлагает ряд полезных команд для разработчиков, например, для сборки контейнерных образов и развертывания приложений непосредственно из исходного кода или двоичных файлов (Source-to-image, s2i).

Давайте на примерах рассмотрим, как встроенные helper’ы и расширенная функциональность утилиты OC помогают упростить повседневную работу.

Is é an chéad shampla ná bainistíocht ainmspás. Bíonn spásanna iolracha ainmneacha i ngach braisle Kubernetes. Úsáidtear iad de ghnáth chun timpeallachtaí forbartha agus táirgthe a chruthú, ach is féidir iad a úsáid freisin, mar shampla, bosca gainimh pearsanta a sholáthar do gach forbróir. Go praiticiúil, bíonn ar an bhforbróir aistriú go minic idir spásanna ainmneacha mar thoradh air seo, ós rud é go ritheann kubectl i gcomhthéacs an spáis reatha. Dá bhrí sin, i gcás kubectl, úsáideann daoine scripteanna cúntóir go gníomhach le haghaidh seo. Ach nuair a bhíonn OC á úsáid agat, chun aistriú go dtí an spás atá uait, abair “oc project namespace”.

Ná cuimhin leat cad a thugtar ar an ainmspás atá uait? Fadhb ar bith, níl le déanamh ach clóscríobh “oc get projects” chun an liosta iomlán a thaispeáint. An bhfuil amhras ort faoi conas a oibreoidh sé seo mura bhfuil rochtain agat ach ar fhothacar teoranta spásanna ainmneacha ar an mbraisle? Bhuel, toisc nach ndéanann kubectl é seo i gceart ach amháin má cheadaíonn RBAC duit na spásanna go léir ar an mbraisle a fheiceáil, agus i gcnuasaigh mhóra ní thugtar ceadanna den sórt sin do gach duine. Mar sin, freagraimid: don OC ní fadhb é seo ar chor ar bith agus soláthróidh sé liosta iomlán go héasca i gcás den sórt sin. Is iad na rudaí beaga seo a chuimsíonn treoshuíomh corparáideach Openshift agus inscálaithe maithe an ardáin seo i dtéarmaí úsáideoirí agus feidhmchlár

2. ODO - leagan feabhsaithe de kubectl d'fhorbróirí

Sampla eile d’fheabhsuithe Red Hat OpenShift thar Kubernetes is ea áirgiúlacht líne ordaithe ODO. Tá sé deartha le haghaidh forbróirí agus ligeann sé duit cód áitiúil a imscaradh go tapa chuig braisle iargúlta OpenShift. Is féidir leis próisis inmheánacha a shruthlíniú freisin chun gach athrú cód ar choimeádáin a shioncronú láithreach ar bhraisle iargúlta OpenShift gan a bheith ag teastáil chun íomhánna a aththógáil, a chlárú agus a ath-imscaradh.

Давайте посмотрим, как OC и ODO облегчает работу с контейнерами и Kubernetes.

Просто сравним парочку рабочих процессов, когда они строятся на основе kubectl, и когда применяются OC или ODO.

• Cód a imscaradh ar OpenShift dóibh siúd nach labhraíonn YAML:

Cubernetes / cubectl
$> git clón github.com/sclorg/nodejs-ex.git
1- Cruthaigh Dockerfile a thógann an íomhá ó chód
-----
Ó nód
DIR OIBRE /usr/src/app
CÓIP pacáiste*.json ./
CÓIP innéacs.js ./
CÓIP ./app ./app
RUN npm a shuiteáil
Nochtadh 3000
CMD [ “npm”, “start” ] ————–
2- Tógann muid an íomhá
$> tógáil podman...
3- Logáil isteach sa chlár
logáil isteach podman...
4 - Cuir an íomhá sa chlár
bhrú podman
5- Создаем yaml-файлы для развертывания приложения (deployment.yaml, service.yaml, ingress.yaml) – это абсолютный минимум
6- Imscar comhaid léirithe:
Kubectl feidhm -f .

OpenShift/oc
$> oc feidhmchlár nua github.com/sclorg/nodejs-ex.git – ár_ainm_iarratais

OpenShift/do
$> git clón github.com/sclorg/nodejs-ex.git
$> nó cruthaigh comhpháirt nódejs myapp
$> brú

• Lasc comhthéacs: athraigh ainmspás oibre nó braisle oibre.

Cubernetes / cubectl
1- Cruthaigh comhthéacs i kubeconfig don tionscadal “myproject”
2- comhthéacs tacair kubectl…

OpenShift/oc
tionscadal oc "myproject"

Контроль качества: «Тут появилась одна интересная функция, пока в альфа-версии. Может введем ее в продакшн?»

Представьте, что вас усаживают в гоночный болид и говорят: «Мы тут поставили тормоза нового типа и, честно говоря, у них пока не все в порядке с надежностью… Но ты не переживай, будем их активно дорабатывать прямо по ходу чемпионата». Как вам такая перспектива? Нам в Red Hat как-то не очень. 🙂

Поэтому мы стараемся воздерживаться от альфа-версий до тех пор, пока они в достаточной мере не созреют, и мы не проведем тщательное боевое тестирование и не почувствуем, что их можно безопасно использовать. Обычно у нас всё проходит сначала через стадию Dev Preview, затем через Réamhamharc Tech agus ní thagann sé amach ansin mar scaoileadh poiblí Infhaighteacht Ghinearálta (GA), который стабилен уже настолько, что годится в продакшн.

Cén fáth é sin? Toisc, mar atá le forbairt aon bhogearraí eile, ní shroicheann gach smaoineamh tosaigh i Kubernetes an scaoileadh deiridh. Nó sroicheann siad é agus fiú coinníonn siad an fheidhmiúlacht atá beartaithe, ach tá a gcur i bhfeidhm difriúil go mór leis an leagan alfa. Agus na mílte agus na mílte custaiméirí Red Hat ag baint úsáide as OpenShift chun tacú le hualaí oibre atá ríthábhachtach ó thaobh misean de, cuirimid béim ar leith ar chobhsaíocht ár n-ardán agus ár dtacaíocht fhadtéarmach.

Tá Red Hat tiomanta do OpenShift a scaoileadh go minic agus an leagan de Kubernetes a thagann leis a nuashonrú. Mar shampla, cuimsíonn scaoileadh reatha GA OpenShift 4.3 tráth na scríbhneoireachta seo Kubernetes 1.16, nach bhfuil ach aonad amháin taobh thiar den leagan in aghaidh an tsrutha de Kubernetes uimhrithe 1.17. Mar sin, táimid ag iarraidh Kubernetes d'aicme fiontair a sholáthar don chustaiméir agus rialú cáilíochta breise a sholáthar agus muid ag scaoileadh leaganacha nua de OpenShift.

Программные исправления: «В той версии Kubernetes, которая у нас в продакшн, нашлась дыра. И закрыть ее можно только обновлением на три версии вверх. Или есть варианты?»

В рамках открытого проекта Kubernetes программные исправления обычно выходят в составе следующего релиза, иногда они охватывают один или два предыдущих промежуточных релиза, что дает охват всего на 6 месяцев назад.

Red Hat по праву гордится тем, что выпускает критические исправления раньше других и обеспечивает поддержу на гораздо больший срок. Возьмем, к примеру, уязвимость с эскалацией привилегий в Kubernetes (CVE-2018-1002105): она обнаружилась в Kubernetes 1.11, а исправления для предыдущих релизов выпустили только до версии 1.10.11, оставив эту в дыру во все предыдущие релизах Kubernetes, с 1.x по 1.9.

Ina dhiaidh sin, Chlúdaigh Red Hat OpenShift ar ais go dtí leagan 3.2 (там стоит Kubernetes 1.2), захватив девять релизов OpenShift и наглядно продемонстрировав заботу о клиентах (подробнее anseo).

Mar atá OpenShift agus Red Hat ag bogadh Kubernetes ar aghaidh

Red Hat занимает второе место по размеру программного вклада в открытый проект Kubernetes, уступая здесь только Google, причем 3 из 5 самых плодовитых разработчиков являются сотрудниками Red Hat. Еще один малоизвестный факт: многие критически важные функции появились в Kubernetes именно по инициативе Red Hat, в частности, такие как:

  • RBAC. Ní raibh feidhmeanna RBAC ag Kubernetes (ClusterRole, ClusterRoleBinding) go dtí gur chinn innealtóirí Red Hat iad a chur i bhfeidhm mar chuid den ardán féin, agus ní mar fheidhmiúlacht bhreise OpenShift. An bhfuil eagla ar Red Hat feabhas a chur ar Kubernetes? Ar ndóigh ní, toisc go leanann Red Hat prionsabail foinse oscailte go docht agus ní imríonn sé cluichí Open Core. Tá feabhsuithe agus nuálaíochtaí atá á dtiomáint ag pobail forbartha, seachas cinn dílseánaigh, níos inmharthana agus glactar leo ar bhonn níos forleithne, rud a ailíníonn go maith lenár bpríomhsprioc bogearraí foinse oscailte a dhéanamh níos úsáidí dár gcustaiméirí.
  • Политики безопасности для pod’ов (Pod Security Policies). Первоначально эта концепция безопасного выполнение приложений внутри pod’ов была реализована в OpenShift под именем SCC (Security Context Constraints). И как и в предыдущем примере, Red Hat решила ввести эти наработки в состав открытого проекта Kubernetes, чтобы ими могли пользоваться все желающие.

Этот ряд примеров можно продолжить, но мы лишь хотели показать, что Red Hat реально стремится развивать Kubernetes и делать его лучше для всех.

Is léir gur Kubernetes é OpenShift. Cad iad na difríochtaí? 🙂

Tá súil againn, agus tú ag léamh go dtí seo, gur thuig tú gurb é Kubernetes croí-chomhpháirt OpenShift. An ceann is mó, ach i bhfad ón gceann amháin. I bhfocail eile, ní thabharfaidh suiteáil Kubernetes ardán d'aicme fiontair duit. Beidh ort fíordheimhniú, líonrú, slándáil, monatóireacht, bainistíocht loga agus go leor eile a chur leis. Ina theannta sin, beidh ort roinnt roghanna diana a dhéanamh as an líon mór uirlisí atá ar fáil (chun éagsúlacht an éiceachórais a thuiscint, níl le déanamh ach breathnú Cairt CNCF) agus ar bhealach éigin comhsheasmhacht agus comhleanúnachas a áirithiú ionas go n-oibreoidh siad mar aon ní amháin. Ina theannta sin, beidh ort nuashonruithe agus tástáil aischéimniúcháin a dhéanamh go rialta nuair a scaoiltear leagan nua d'aon cheann de na comhpháirteanna a úsáideann tú. Is é sin, chomh maith leis an ardán féin a chruthú agus a chothabháil, beidh ort déileáil leis na bogearraí seo go léir freisin. Ní dócha go mbeidh go leor ama fágtha chun fadhbanna gnó a réiteach agus buntáistí iomaíochta a bhaint amach.

Ach i gcás OpenShift, glacann Red Hat na castachtaí seo go léir air féin agus go simplí tugann sé ardán feidhmiúil iomlán duit, a chuimsíonn ní hamháin Kubernetes féin, ach freisin an tsraith iomlán d’uirlisí foinse oscailte riachtanacha a iompaíonn Kubernetes ina fhíoraicme fiontraíochta. réiteach gur féidir leat a sheoladh láithreach agus go hiomlán go socair isteach i dtáirgeadh. Agus ar ndóigh, má tá roinnt de do stoic teicneolaíochta féin agat, ansin is féidir leat OpenShift a chomhtháthú i réitigh atá ann cheana féin.

OpenShift mar leagan fiontair de Kubernetes. Cuid 1
Is ardán cliste Kubernetes é OpenShift

Взгляните на рисунок выше: всё, что находится вне прямоугольника Kubernetes, – это те области, где Red Hat добавляет функционал, которого в Kubernetes нет, что называется, by-design. И сейчас мы рассмотрим основные из этих областей.

1. Надежная ОС в качестве основы: RHEL CoreOS или RHEL

Tá Red Hat ina phríomhsholáthraí dáiltí Linux d’fheidhmchláir atá ríthábhachtach do ghnó le breis agus 20 bliain. Ligeann ár dtaithí carntha agus nuashonraithe i gcónaí sa réimse seo dúinn bunús fíor-iontaofa agus iontaofa a thairiscint d'oibriú tionsclaíoch coimeádán. Úsáideann RHEL CoreOS an t-eithne céanna le RHEL, ach tá sé optamaithe go príomha le haghaidh tascanna cosúil le coimeádáin a rith agus braislí Kubernetes a reáchtáil: déanann a mhéid laghdaithe agus a neamh-inaistritheacht é a dhéanamh níos éasca braislí a bhunú, uathscálú, paistí a imscaradh, etc. bunús idéalach chun an taithí úsáideora céanna a sheachadadh le OpenShift thar raon leathan timpeallachtaí ríomhaireachta, ó mhiotal lom go scamall príobháideach agus poiblí.

2. Uathoibriú oibríochtaí TF

Автоматизация процессов установки и операций второго дня (то есть повседневной эксплуатации) – это конек OpenShift, которые значительно облегчает администрирование, обновление и поддержание работы контейнерной платформы на высочайшем уровне. Это достигается за счет поддержки Kubernetes-операторов на уровне ядра OpenShift 4.

OpenShift 4 – это также и целая экосистема решений на основе Kubernetes-операторов, разработанных как самой Red Hat, так и сторонними партнерами (см. eolaire oibreoir Red Hat, nó siopa oibreora oibreoirhub.io, cruthaithe ag Red Hat d'fhorbróirí tríú páirtí).

OpenShift mar leagan fiontair de Kubernetes. Cuid 1
В состав интегрированного каталога OpenShift 4 входит более 180 Kubernetes-операторов

3. Uirlisí Forbróirí

Ó 2011, tá OpenShift ar fáil mar ardán PaaS (Platform-as-a-Service) a dhéanann an saol i bhfad níos éasca d’fhorbróirí, a chabhraíonn leo díriú ar chódú, agus a thairgeann tacaíocht dhúchasach do theangacha ríomhchlárúcháin mar Java, Node.js , PHP, Ruby, Python, Go, chomh maith le comhtháthú leanúnach CI/CD agus seirbhísí seachadta, bunachair shonraí, srl. Tairiscintí OpenShift 4 catalóg fhairsing, включающий более 100 сервисов на основе Kubernetes-операторов, разработанных Red Hat и нашими партнерами.

Murab ionann agus Kubernetes, tá GUI tiomnaithe ag OpenShift 4 (Consól Forbróra), помогающий разработчикам без лишних усилий развертывать в своих пространствах имен приложения из различных источников (git, внешние реестры, Dockerfile и т. д) и наглядно визуализирующий связи между компонентами приложения.

OpenShift mar leagan fiontair de Kubernetes. Cuid 1
Консоль Developer Console наглядно представляет компоненты приложения и упрощает работу с Kubernetes

Кроме того, OpenShift предлагает набор инструментов разработки Codeready, куда, в частности, входит Spásanna Oibre Codeready, полностью контейнеризированная IDE с веб-интерфейсом, работающая непосредственно поверх OpenShift и реализующая подход «IDE-как сервис». С другой стороны, для тех, кто хочет работать строго в локальном режиме, есть Codeready Containers – полнофункциональная версия OpenShift 4, которую можно развернуть на ноутбуке.

OpenShift mar leagan fiontair de Kubernetes. Cuid 1
Интегрированная «IDE как сервис» для эффективной разработки на платформе Kubernetes/OpenShift

Прямо из коробки OpenShift предлагает полноценную систему CI/CD, либо на основе контейнеризованного Jenkins и плагина DSL chun oibriú le píblínte, nó córas CI/CD atá dírithe ar Kubernetes an Tekton (пока в версии Tech preview). Оба этих решения полностью интегрируются с консолью OpenShift, позволяя запускать триггеры конвейеров, просматривать развертывания, журналы и т. д.

4. Uirlisí Iarratais

Ligeann OpenShift duit feidhmchláir thraidisiúnta stáit agus réitigh scamall-bhunaithe a imscaradh bunaithe ar ailtireachtaí nua, mar mhicrisheirbhísí nó gan fhreastalaí. Tagann réiteach Mogall Seirbhíse OpenShift amach as an mbosca le príomhuirlisí chun microservices a chothabháil, mar shampla Istio, Kiali agus Jaeger. Ina dhiaidh sin, cuimsíonn réiteach OpenShift Serverless ní hamháin Knative, ach freisin uirlisí cosúil le Keda a cruthaíodh mar chuid de chomhthionscnamh le Microsoft chun feidhmeanna Azure a sholáthar ar an ardán OpenShift.

OpenShift mar leagan fiontair de Kubernetes. Cuid 1
Интегрированное решение OpenShift ServiceMesh (Istio, Kiali, Jaeger) пригодится при разработке микросервисов

Чтобы сократить разрыв между унаследованными приложениями и контейнерами, OpenShift теперь позволяет провести миграцию виртуальных машин на платформу OpenShift с помощью Container Native Virtualization (пока в версии в TechPreview), превращая гибридные приложения в реальность и облегчая их перенос между различными облака, как частными, так и публичными.

OpenShift mar leagan fiontair de Kubernetes. Cuid 1
Виртуальная машина Windows 2019 Virtual, запущенная на OpenShift через Container Native Virtualization (пока в версии Tech preview)

5. Uirlisí le haghaidh braislí

Ní mór go mbeadh seirbhísí monatóireachta agus láraithe logála, meicníochtaí slándála, fíordheimhnithe agus údaraithe, agus uirlisí bainistíochta líonra ag aon ardán aicme fiontair. Agus soláthraíonn OpenShift seo go léir as an mbosca, agus is foinse oscailte 100% é go léir, lena n-áirítear réitigh mar ElasticSearch, Prometheus, Grafana. Tagann na réitigh seo go léir le dashboards, méadracht, agus foláirimh atá tógtha agus cumraithe cheana féin ag baint úsáide as saineolas monatóireachta braisle fairsing Red Hat, rud a ligeann duit do thimpeallacht táirgthe a rialú agus a mhonatóiriú go héifeachtach ón tús.

В OpenShift также штатно имеет такие важные для корпоративного заказчика вещи, как аутентификация со встроенным провайдером oauth, интеграция с провайдерами учетных данных, включая LDAP, ActiveDirectory, OpenID Connect, и многое другое.

OpenShift mar leagan fiontair de Kubernetes. Cuid 1
Painéal Grafana réamhchumraithe le haghaidh monatóireachta braisle OpenShift

OpenShift mar leagan fiontair de Kubernetes. Cuid 1
Более 150 предварительно настроенных метрик и оповещений Prometheus для мониторинга кластера OpenShift

Le leanúint

Богатый функционал решения и обширный опыт Red Hat в области Kubernetes – именно по этим причинам OpenShift занял доминирующее положение на рынке, как показано на рисунке ниже (подробнее anseo).

OpenShift mar leagan fiontair de Kubernetes. Cuid 1
“Tá Red Hat i gceannas ar an margadh faoi láthair le sciar 44%.
Компания пожинает плоды своей стратегии продаж с активным участием в делах клиента, в рамках которой она вначале консультирует и обучает корпоративных разработчиков, а затем переходит к монетизации по мере того, как предприятие начинает внедрять контейнеры в продакшн».

(Foinse: www.lightreading.com/nfv/containers/ihs-red-hat-container-strategy-is-paying-off/d/d-id/753863)

Надеемся, вам понравилась эта статья. В следующих постах из этой серии мы подробнее остановимся на преимущества OpenShift по сравнению Kubernetes в каждой из рассмотренных здесь категорий.

Foinse: will.com

Add a comment