Amazon EKS Windows na GA nwere chinchi, mana ọ kachasị ọsọ

Amazon EKS Windows na GA nwere chinchi, mana ọ kachasị ọsọ

N'ehihie ọma, achọrọ m ịkọrọ gị ahụmịhe m na ịtọlite ​​​​na iji ọrụ AWS EKS (Elastic Kubernetes Service) maka arịa Windows, ma ọ bụ karịa maka enweghị ike iji ya, yana ahụhụ ahụ dị na akpa sistemu AWS, maka ndị ahụ. ndị nwere mmasị na ọrụ a maka arịa Windows, biko n'okpuru pusi.

Amaara m na akpa Windows abụghị isiokwu na-ewu ewu, ma mmadụ ole na ole na-eji ha eme ihe, ma m ka kpebiri ide edemede a, ebe ọ bụ na e nwere isiokwu abụọ na Habré na kubernetes na Windows na a ka nwere ndị dị otú ahụ.

Начало

Ọ malitere mgbe e kpebiri ịkwaga ọrụ dị na ụlọ ọrụ anyị na kubernetes, nke bụ 70% Windows na 30% Linux. Maka ebumnuche a, a na-ewere ọrụ igwe ojii AWS EKS dị ka otu n'ime nhọrọ ndị enwere ike. Ruo Ọktoba 8, 2019, AWS EKS Windows nọ na Nleba Ọha, amalitere m ya, ejiri ụdị 1.11 ochie nke kubernetes mee ihe ebe ahụ, mana ekpebiri m ịlele ya na agbanyeghị wee hụ n'oge ọrụ igwe ojii a dị, ma ọ na-arụ ọrụ. ma ọlị, dị ka ọ tụgharịrị, mba, ọ bụ n'ebe ahụ ahụhụ na mgbakwunye na iwepu pods, mgbe ndị ochie kwụsịrị ịzaghachi site na ime ip site na otu subnet dị ka windo onye ọrụ ọnụ.

Ya mere, e kpebiri ịhapụ iji AWS EKS na-akwado ụyọkọ nke anyị na kubernetes n'otu EC2, naanị anyị ga-akọwapụta nhazi niile na HA onwe anyị site na CloudFormation.

Amazon EKS Windows Container Nkwado ugbu a na-adịkarị

nke Martin Beeby | bụ 08 Okt 2019

Tupu m enwee oge itinye template na CloudFormation maka ụyọkọ nke m, ahụrụ m akụkọ a Amazon EKS Windows Container Nkwado ugbu a na-adịkarị

N'ezie, etinyere m ọrụ m niile n'akụkụ wee malite ịmụ ihe ha mere maka GA, na otú ihe niile si gbanwee na Preview Public. Ee, AWS, emela nke ọma, emelitere onyonyo maka ọnụ ọnụ onye ọrụ windows na ụdị 1.14, yana ụyọkọ n'onwe ya, ụdị 1.14 na EKS, na-akwado ọnụ ọnụ windo ugbu a. Project site na nhụcha ọha na github Ha kpuchiri ya wee sị ugbu a jiri akwụkwọ gọọmentị ebe a: Nkwado Windows EKS

Na-ejikọta ụyọkọ EKS n'ime VPC na subnet dị ugbu a

Na isi mmalite niile, na njikọ dị n'elu na ọkwa ọkwa yana na akwụkwọ ahụ, a tụrụ aro ka ebuga ụyọkọ ahụ site na ụlọ ọrụ eksctl ma ọ bụ site na CloudFormation + kubectl mgbe, naanị iji subnets ọha na eze na Amazon, yana ịmepụta a. kewapụ VPC maka ụyọkọ ọhụrụ.

Nhọrọ a adabaghị maka ọtụtụ; Kedu ihe kwesịrị ka ndị nweburu akụrụngwa emebere na AWS na akaụntụ Multiple AWS nke ha, VPC, subnets, tebụl ụzọ, ọnụ ụzọ njem na ihe ndị ọzọ? N'ezie, ịchọghị imebi ma ọ bụ megharịa ihe a niile, ịkwesịrị ijikọ ụyọkọ EKS ọhụrụ n'ime akụrụngwa netwọkụ dị ugbu a, na-eji VPC dị ugbu a na, maka nkewa, na-emepụta obere subnets ọhụrụ maka ụyọkọ.

N'okwu m, a họọrọ ụzọ a, ejiri m VPC dị ugbu a, gbakwunyere naanị subnets ọha na eze 2 na subnets nkeonwe 2 maka ụyọkọ ọhụrụ ahụ, n'ezie, eburu n'uche iwu niile dị ka akwụkwọ ahụ si dị. Mepụta ụyọkọ Amazon EKS VPC gị.

Enwekwara otu ọnọdụ: enweghị ọnụ onye ọrụ na subnets ọha na-eji EIP.

eksctl vs CloudFormation

M ga-eme ndoputa ozugbo na m nwara ụzọ abụọ a na-ebuga ụyọkọ, n'ọnọdụ abụọ ahụ foto ahụ bụ otu.

M ga-egosi ihe atụ naanị iji eksctl ebe koodu ebe a ga-adị mkpụmkpụ. Iji eksctl, tinye ụyọkọ ahụ na usoro atọ:

1. Anyị na-emepụta ụyọkọ n'onwe ya + Linux onye ọrụ ọnụ, nke ga-emecha nọrọ n'ụlọ usoro containers na otu ọrịa vpc-controller.

eksctl create cluster 
--name yyy 
--region www 
--version 1.14 
--vpc-private-subnets=subnet-xxxxx,subnet-xxxxx 
--vpc-public-subnets=subnet-xxxxx,subnet-xxxxx 
--asg-access 
--nodegroup-name linux-workers 
--node-type t3.small 
--node-volume-size 20 
--ssh-public-key wwwwwwww 
--nodes 1 
--nodes-min 1 
--nodes-max 2 
--node-ami auto 
--node-private-networking

Ka ibuga na VPC dị ugbu a, kọwaa naanị id nke subnets gị, eksctl ga-ekpebi VPC n'onwe ya.

Iji hụ na ebugara ọnụ onye ọrụ gị na naanị subnet nkeonwe, ịkwesịrị ịkọwapụta --node-private-networking maka nodegroup.

2. Anyị na-etinye vpc-controller na ụyọkọ anyị, nke ga-edozi ọnụ ọgụgụ ndị ọrụ anyị, na-agụta ọnụ ọgụgụ nke adreesị IP n'efu, yana ọnụ ọgụgụ ENI na ihe atụ, na-agbakwunye ma wepụ ha.

eksctl utils install-vpc-controllers --name yyy --approve

3.After gị usoro containers na ọma ulo oru na gị Linux ọrụ ọnụ, gụnyere vpc-controller, ihe niile fọdụrụ bụ ike ọzọ nodegroup na windo ọrụ.

eksctl create nodegroup 
--region www 
--cluster yyy 
--version 1.14 
--name windows-workers 
--node-type t3.small 
--ssh-public-key wwwwwwwwww 
--nodes 1 
--nodes-min 1 
--nodes-max 2 
--node-ami-family WindowsServer2019CoreContainer 
--node-ami ami-0573336fc96252d05 
--node-private-networking

Mgbe ọnụ gị ejikọtala nke ọma na ụyọkọ gị na ihe niile dị ka ọ dị mma, ọ dị na Njikere ọnọdụ, mana mba.

Njehie na vpc-controller

Ọ bụrụ na anyị na-agbalị ịgba ọsọ pods na windo onye ọrụ ọnụ, anyị ga-enweta njehie:

NetworkPlugin cni failed to teardown pod "windows-server-iis-7dcfc7c79b-4z4v7_default" network: failed to parse Kubernetes args: pod does not have label vpc.amazonaws.com/PrivateIPv4Address]

Ọ bụrụ na anyị lebakwuo anya, anyị na-ahụ na ihe atụ anyị na AWS dị ka nke a:

Amazon EKS Windows na GA nwere chinchi, mana ọ kachasị ọsọ

Ọ kwesịrị ịdị ka nke a:

Amazon EKS Windows na GA nwere chinchi, mana ọ kachasị ọsọ

Site na nke a, o doro anya na vpc-controller emezughị akụkụ ya n'ihi ihe ụfọdụ na enweghị ike itinye adreesị IP ọhụrụ na ihe atụ ka pods nwere ike iji ha.

Ka anyị leba anya na ndekọ nke vpc-controller pod na nke a bụ ihe anyị na-ahụ:

kubectl log -n kube-sistemu

I1011 06:32:03.910140       1 watcher.go:178] Node watcher processing node ip-10-xxx.ap-xxx.compute.internal.
I1011 06:32:03.910162       1 manager.go:109] Node manager adding node ip-10-xxx.ap-xxx.compute.internal with instanceID i-088xxxxx.
I1011 06:32:03.915238       1 watcher.go:238] Node watcher processing update on node ip-10-xxx.ap-xxx.compute.internal.
E1011 06:32:08.200423       1 manager.go:126] Node manager failed to get resource vpc.amazonaws.com/CIDRBlock  pool on node ip-10-xxx.ap-xxx.compute.internal: failed to find the route table for subnet subnet-0xxxx
E1011 06:32:08.201211       1 watcher.go:183] Node watcher failed to add node ip-10-xxx.ap-xxx.compute.internal: failed to find the route table for subnet subnet-0xxx
I1011 06:32:08.201229       1 watcher.go:259] Node watcher adding key ip-10-xxx.ap-xxx.compute.internal (0): failed to find the route table for subnet subnet-0xxxx
I1011 06:32:08.201302       1 manager.go:173] Node manager updating node ip-10-xxx.ap-xxx.compute.internal.
E1011 06:32:08.201313       1 watcher.go:242] Node watcher failed to update node ip-10-xxx.ap-xxx.compute.internal: node manager: failed to find node ip-10-xxx.ap-xxx.compute.internal.

Nchọgharị na Google edugaghị n'ihe ọ bụla, ebe ọ bụ na o doro anya na ọ nweghị onye ejidela ụdị ahụhụ a, ma ọ bụ biputebeghị okwu na ya, m ga-ebu ụzọ chee nhọrọ n'onwe m. Ihe mbụ batara n'uche bụ na ikekwe vpc-controller enweghị ike idozi ip-10-xxx.ap-xxx.compute.internal wee rute ya na ya mere njehie na-eme.

Ee, n'ezie, anyị na-eji sava DNS omenala na VPC na, n'ụkpụrụ, anyị anaghị eji nke Amazon, yabụ ahazighị ebugharị maka ngalaba ap-xxx.compute.internal. M nwalere nhọrọ a, ma ọ dịghị eweta nsonaazụ, ikekwe ule ahụ adịghị ọcha, ya mere, n'ihu, mgbe m na-ekwurịta okwu na nkwado teknụzụ, m dabara n'echiche ha.

Ebe ọ bụ na enweghị echiche ọ bụla n'ezie, ọ bụ eksctl n'onwe ya kere otu nchekwa niile, yabụ enweghị obi abụọ ọ bụla gbasara ọrụ ha, tebụl ụzọ dịkwa mma, nat, dns, ịntanetị na ọnụ ndị ọrụ dịkwa ebe ahụ.

Ọzọkwa, ọ bụrụ na ibuga ọnụ onye ọrụ na subnet ọha na-ejighi-node-private-networking, onye na-ahụ maka vpc na-emelite ọnụ a ozugbo na ihe niile na-arụ ọrụ dị ka elekere.

Enwere nhọrọ abụọ:

  1. Nye ya ma chere ruo mgbe mmadụ kọwara ahụhụ a na AWS wee dozie ya, mgbe ahụ ị nwere ike iji AWS EKS Windows n'enweghị nsogbu, n'ihi na ha tọhapụrụ na GA (ụbọchị 8 agafeela n'oge edere akụkọ a), ọtụtụ nwere ike. soro otu ụzọ m.
  2. Dee na nkwado AWS wee gwa ha isi nsogbu ahụ site na iji ụyọkọ ndekọ sitere na ebe niile wee gosi ha na ọrụ ha anaghị arụ ọrụ mgbe ị na-eji VPC na subnets gị, ọ bụghị n'efu ka anyị nwere nkwado azụmahịa, ị kwesịrị iji. ọ dịkarịa ala otu ugboro :)

Mmekọrịta ya na ndị injinia AWS

N'ịbụ onye mepụtara tiketi na portal, echere m na m ga-azaghachi m site na Weebụ - email ma ọ bụ ebe nkwado, site na nhọrọ a, ha nwere ike ịza gị mgbe ụbọchị ole na ole gasịrị, n'agbanyeghị eziokwu ahụ bụ na tiketi m nwere Severity - System impired, nke. pụtara nzaghachi n'ime <12 awa, na ebe ọ bụ na atụmatụ nkwado azụmahịa nwere nkwado 24/7, enwere m olileanya maka ihe kacha mma, ma ọ tụgharịrị dị ka mgbe niile.

Ekenyeghị tiketi m site na Fraịde ruo Mọnde, ekpebiri m idegara ha akwụkwọ ọzọ wee họrọ nhọrọ nzaghachi Chat. Mgbe echere obere oge, a họpụtara Harshad Madhav ka ọ hụ m, wee malite...

Anyị na-emezigharị ya na ntanetị maka awa 3 n'usoro, na-ebufe ndekọ, na-ebuga otu ụyọkọ ahụ na ụlọ nyocha AWS iji ṅomie nsogbu ahụ, ịmepụtaghachi ụyọkọ ahụ n'akụkụ m, na ihe ndị ọzọ, naanị ihe anyị bịara bụ na site na. ndekọ ahụ doro anya na resol anaghị arụ ọrụ AWS aha ngalaba ime ụlọ, nke m dere banyere ya n'elu, Harshad Madhav gwara m ka m mepụta mbugharị, ebubo na anyị na-eji DNS omenala na nke a nwere ike ịbụ nsogbu.

Na-ebugharị

ap-xxx.compute.internal  -> 10.x.x.2 (VPC CIDRBlock)
amazonaws.com -> 10.x.x.2 (VPC CIDRBlock)

Nke ahụ bụ ihe e mere, ụbọchị agwụla Harshad Madhav dere azụ iji lelee ya ma ọ ga-arụ ọrụ, ma mba, mkpebi ahụ emeghị ka ọ bụrụ.

Mgbe ahụ enwere nkwurịta okwu na ndị injinia 2 ọzọ, otu onye kwụsịrị na nkata ahụ, o doro anya na ọ na-atụ egwu ikpe dị mgbagwoju anya, nke abụọ ejiri ụbọchị m ọzọ na-emezigharị usoro nke nbibi, na-eziga ndekọ, na-emepụta ụyọkọ n'akụkụ abụọ, na N'ikpeazụ o kwuru nke ọma, ọ na-arụ ọrụ maka m, ebe a, m na-eme ihe niile nzọụkwụ site nzọụkwụ na ukara akwụkwọ na gị na ị ga-aga nke ọma.

Nke m ji nkwanye ùgwù rịọ ya ka ọ pụọ ma nyefee onye ọzọ na tiketi m ma ọ bụrụ na ị maghị ebe ị ga-achọ nsogbu ahụ.

Ikpeazụ

N'ụbọchị nke atọ, e kenyere m engineer ọhụrụ Arun B., na site na mmalite nke nkwurịta okwu ya, ọ bịara doo anya na nke a abụghị ndị injinia 3 gara aga. Ọ gụrụ akụkọ ihe mere eme niile wee rịọ ozugbo ka ọ nakọta ndekọ ahụ site na iji edemede nke ya na ps1, nke dị na github ya. Nke a sochiri ọzọ site n'ịmepụta ụyọkọ niile, imepụta nsonaazụ iwu, nchịkọta ndekọ, mana Arun B. na-aga n'ụzọ ziri ezi na-ekpe ikpe site na ajụjụ ndị a jụrụ m.

Kedu mgbe anyị ruru n'ókè nke inye -stderrthreshold = debug na vpc-controller ha, gịnịkwa mere ọzọ? N'ezie ọ naghị arụ ọrụ) pọd ahụ anaghị ebido na nhọrọ a, naanị -stderrthreshold=ozi na-arụ ọrụ.

Anyị gụchara ebe a na Arun B. kwuru na ya ga-agbalị imegharị nzọụkwụ m iji nweta otu njehie ahụ. N'echi ya, enwetara m nzaghachi site n'aka Arun B. ọ hapụghị ikpe a, ma were koodu nyocha nke vpc-controller ha wee chọta ebe ọ dị na ihe kpatara na ọ naghị arụ ọrụ:

Amazon EKS Windows na GA nwere chinchi, mana ọ kachasị ọsọ

Ya mere, ọ bụrụ na ị na-eji tebụl ụzọ isi na VPC gị, mgbe ahụ na ndabara ọ nweghị njikọ na subnets dị mkpa, nke dị mkpa maka vpc-controller, n'ihe banyere subnet ọha, ọ nwere okpokoro ụzọ omenala. nke nwere mkpakọrịta.

Site na iji aka na-agbakwụnye mkpakọrịta maka tebụl ụzọ isi na subnets dị mkpa, na ịmegharị nodegroup, ihe niile na-arụ ọrụ nke ọma.

Enwere m olileanya na Arun B. ga-akọ akụkọ a maka ndị mmepe EKS na anyị ga-ahụ ụdị vpc-controller ọhụrụ ebe ihe niile ga-arụ ọrụ na igbe ahụ. Ugbu a ụdị kachasị ọhụrụ bụ: 602401143452.dkr.ecr.ap-southeast-1.amazonaws.com/eks/vpc-resource-controller:0.2.1
nwere nsogbu a.

Ekele onye ọ bụla na-agụ ruo ọgwụgwụ, nwalee ihe niile ị ga-eji na mmepụta tupu mmejuputa iwu.

isi: www.habr.com

Tinye a comment