Calico ad networking in Kubernetes: introductio et experientiae parum
Propositum articuli lectorem introducere ad fundamenta retis et administrandi rationes retiaculas in Kubernetes, itemque ad tertiam partem Calico plugin quae normae facultates porrigit. In via, facilitas schematismi et quaedam lineamenta demonstrabuntur utentibus exemplis realibus experientiae nostrae operantis.
A velox introductio ad Kubernetes networking appliance
In contextu huius articuli, interest notare ipsum K8s non esse responsabilitatem retis inter continentes et nodos: hoc enim variae CNI plugins (Container Networking Interface). Plura de hoc conceptu illi etiam ad me.
Exempli gratia, horum plugins frequentissimus est flannel β Connexionem retis plenam praebet inter omnes nodi nodos, pontes in unaquaque nodo erigendo, ei subnet assignando. Sed accessibilitas perfecta et irregularis non semper prodest. Ut quamdam minimam solitudinem in botro praebeat, in configuratione firewall intervenire necesse est. Generaliter in casu, sub eiusdem CNI potestate ponitur, quam ob rem quaelibet tertia partium interpellatio in iptables perperam vel omnino neglecta interpretari potest.
Et "ex archa" pro retis ordinandis administratione in botro Kubernetes providetur NetworkPolicy API. Subsidium hoc, per spatia nomina selecta distributum, potest continere regulas ad differentiam accessus ab uno applicatione ad alterum. Etiam permittit ut accessibilitatem configurare inter siliquas specificas, ambitus (nominum) vel clausos inscriptionum IP;
Hoc est primitivum exemplum officialis documenta ut semel et pro omnibus dehortetur cupiditatem intelligendi logicam quomodo agendi retis operantur. Sed adhuc probabimus percipere principia fundamentalia ac modos processus negotiationis fluit utentes retis agendis...
Consentaneum est quod 2 genera negotiationis sunt: ββvasculum (Ingress) et exitus ab eo (Egress).
Nam politica dividitur in 2 praedicamenta secundum directionem motus.
Sequens attributum requiritur electrix; unum cui iuris est. Hoc vasculum esse potest (vel globus siliquarum) vel ambitus (i.e. spatii nominandi). Singula res magni momenti: utraque genera harum rerum pittacium continere debent (label in terminologia Kubernetes) - hi sunt qui politici operantur.
Praeter finitos selectores aliquo genere pittacii coniuncti, regulas scribere sicut "Permitte/nega/omnis" in variis variationibus. Ad hoc, constructiones formae adhibentur;
Revertere ad electionem plugin in botro CNI, notatu dignum est non omnis network plugin sustinet NetworkPolicy. Exempli gratia, iam dictus Flannel nescit quomodo machinas retis configurare, quae suus 'protinus dixit in repositio officialis. Vel etiam ibi memoratur - Open Source project Calico, quod signanter ampliat vexillum APIs Kubernetes secundum rationes agendi retis.
Ut cognoscat Calico: theoria
Plugin Calico in integratione cum Flannel adhiberi potest (subproject Canal) vel independenter, utrasque connectivity network et disponibilitate administrationis facultates protegens.
Quas occasiones solutionem K8s "coscentem" utens et API a Calico positos praebet?
Ecce quid aedificatur in NetworkPolicy:
politici ambitu circumscribi;
politiae siliquae cum pittaciis notatae applicantur;
regulae siliquis, ambitus vel subnetis applicari possunt;
praecepta continere possunt protocolla, nominata vel specificata portum symbolicum.
Ecce quomodo haec munera Calico extendit;
consilia ad quodlibet objectum applicari possunt: ββvasculum, continens, virtualis machina vel interface;
praecepta continere possunt actionem specificam (prohibitio, permissio, logging);
scopum vel fons regularum possunt esse portus, range portuum, protocolla, HTTP vel ICMP attributa, IP vel subnet (4th vel 6th generation), selectores (nodi, exercituum, ambitus);
Prima committit in GitHub in repositorio Calico ad diem Iulii 2016 repositum, et post annum consilium praecipuum locum in connexione reticulari Kubernetes ordinando cepit - hoc patet, exempli gratia, per proventus percontationum. conducted per The New Stack:
In consequat, magna in hendrerit in. In probatione eorum producto, turma evolutionis Calico demonstrata astronomicae operationis, plus quam 50000 milia continens in 500 nodis physicis cum rate de 20 vasis per alterum creationis. Nullae difficultates cum scalis identificabantur. Tales eventus nuntiata sunt iam in annuntiatione primae versionis. Studia independentia in perput ac facultates positis consumptio etiam confirmant effectum Calico prope bonum ac scriptor Flannel. exempli gratia:
Propositum celerrime explicatur, laborem in solutionibus popularibus tractatum sustinet K8s, OpenShift, OpenStack, uti potest Calico cum disponendis botri utendo kops, habentur ad constructionem reticulorum servitii Mesh (Hic est exemplum in cum Istio).
Exercere cum Calico
In universali casu utendi vanilla Kubernetes, insertis CNI descendet utendi tabella calico.yaml, downloaded in rutrum, ab usura kubectl apply -f.
Pro regula, versio currentis plugin compatitur cum ultimis 2-3 versionibus Kubernetes: operatio in vetustioribus versionibus non probatur nec praestatur. Secundum tincidunt, Calico in nucleis Linux decurrit supra 3.10 currentem CentOS 7, Ubuntu 16 vel Debian 8, super iptables vel IPVS.
Solitudo in environment
Ad intellectum generalem, inspiciamus causam simplicem intelligere quomodo agendi retis notatio in Calico a normarum differant et quomodo accessus ad regulas creandas simplices eorum faciliorem et conformationem flexibilitatem reducit;
Sunt 2 applicationes interretiales in botro: in Node.js et PHP, quarum una Redis utitur. Ad accessum ad Redis ab PHP intercludere, servata connectivity cum Node.js, sequentia consilia applica modo:
Essentialiter permisimus mercaturam in Redis portum a Node.js advenientem. Et plane nihil aliud prohibuerunt. Cum primum NetworkPolicy apparet, omnes selectores in ea de quibus incipiunt secludere, nisi aliud constet. Sed regulae solitariae in aliis obiectis non teguntur a selectore non applicantur.
Exemplum usus apiVersion Kubernetes ex archa, sed nihil prohibet te uti eop. Syntaxis accuratior est, ut regulam pro casu praedicto in hac forma rescribere debebis.
Praedicta constructio ad omnem mercaturam permittendi vel negandi per NetworkPolicy regularem API constructa continent cum parenthesi, qui difficile est intellectu et memoria tenere. In Calicone, firewall logicam mutandi regulam in opposito, modo mutationem action: Allow on action: Deny.
Solitudo a environment
Nunc condicionem finge ubi applicatio metri negotium metri ad collectionem in Prometheo gignit et in Grafana ulteriore analysi utens. Notatio sensibilis notitias continere potest, quae iterum per defaltam palam spectabilis est. Abscondamus haec notitia ex oculis emissiciis:
Prometheus, ut regula, in ambitu separato servitutis ponitur - in exemplo erit huius spatii nominativus:
agri metadata.labels hoc nullum accidens evasit. Ut supra, namespaceSelector (Ut etiam podSelector) Cum pittaciis operatur. Ut ergo metri siliquis ex omnibus in certo portu desumi permittas, debebis adjicere aliquod genus pittacii (vel ex existentibus) ac deinde conformationem similem appone;
In genere, addendo has rationes agendi pro certis necessitatibus, tueri potes contra impedimentum malitiosum vel accidentalem in operatione applicationis in botro.
Optima praxis, iuxta creatores Caliconis, est βobstrue omnia et explicite aperi quod tibi opus estβ accedunt, documenta sunt in officialis documenta Sequuntur alii similem ac- tionem, in iam dictum est articulum).
Additional uti Calico objecta
Admoneam te per extensum Caliconis ordinem APIs disponibilitatem nodis, non siliquis limitatam, moderari posse. In hoc exemplo utens GlobalNetworkPolicy facultas petitionum IMP transiendi in botro clauditur (exempli gratia, pings ex legumine ad nodi, inter siliquas, vel a nodo ad IP vasculum);
In casu superiore, adhuc nodi botri fieri potest per ICMP inter se "extendere". Atque haec quaestio per GlobalNetworkPolicyApplicata ente HostEndpoint:
Verissimum denique exemplum dabo utendi Calico functionibus pro casu botri commercii, cum norma ratio agendi non sufficit. Ad applicationem interretialem accedere, clientes cuniculo VPN utuntur, et hic aditus arcte moderatur et limitatur ad certum indicem officiorum usui datum;
Clientes ad VPN per vexillum UDP portum 1194 iungunt et, cum conexi, vias accipiunt ad subnets siliquarum et operarum. Totae subnetes impelluntur ne officia per sileo et mutationes inscriptionis amittant.
Portus in configuratione vexillum est, quod nonnullas nuances imponit in processu applicationis conformandi et ad botrum Kubernetes transferendi. Exempli gratia, in eodem AWS LoadBalancer pro UDP ad litteram exeunte anno in limitata regionum indice apparuit, et NodePort adhiberi non potest propter missionem in omnibus nodis botris et impossibile est numerum instantiarum ministrantium ascendere. tolerantiam culpae proposita. Plus, debebis mutare defaltam latitudinem portuum...
Ex investigatione per solutiones possibilium, haec electa sunt:
Siliquae cum VPN accedant per nodi in hostNetworkid est ad ipsam IP.
Ministerium extra per " ClusterIP. Portus physice in nodo constitutus est, qui extrinsecus accessus cum exceptionibus minoribus (conditionalis praesentiae IP oratio verae).
Nodum constituimus, in quo vasculum rosae excedit ambitum fabulae nostrae. Modo dicam te officium nodi "clavum" stricte scribere vel munus parvum scribere, quod current IP oratio VPN servitii monitor erit et DNS monumenta cum clientibus descripti recensebis - quisquis satis habet imaginationem.
Ex fuso prospectu, clientem VPN singulariter agnoscere possumus ab inscriptione IP sua a VPN servo edita. Infra exemplum primitivum restringendi talem clientem accessum ad officia, illustrantia in Redis memoratis:
Hic connectens portum 6379 stricte prohibetur, sed simul conservatur operatio DNS servitii, cuius operatio saepius in edendis regulis laborat. Quia, ut ante dictum est, cum electrix apparet, defectus negant consilium applicari ei, nisi aliud datum est.
results
Sic, adhibito Calico progressu API, flexibiliter configurare potes et dynamice mutare fusum in et circa botrum. In genere, usus eius potest inspicere sicut passeres cum bombardis, et exsequens reticulum L3 cum BGP et IP-IP cuniculis monstrosum spectat in simplici Kubernetes institutionem in retis planis... Aliter tamen instrumentum satis viabile et utile spectat. .
Botrus segregans ad securitatem requisita non semper fieri potest, et hoc est ubi Calico (vel similis solutio) subvenit. Exempla in hoc articulo posita (cum modificationibus minoribus) in pluribus institutionibus clientium nostrorum AWS adhibentur.