1. Kontrollplan: Den har ett register över detaljerna i alla löpande tjänster och olika policyer som hanterar trafiken. Kontrollplanet måste vara skalbart för att hantera tusentals instanser och uppdatera dataplanet. 2. Dataplan: Det ansvarar främst för överföring av data mellan tjänsterna. Den måste ha hög prestanda och integreras med kontrollplanet.
Nödvändig förutsättning
- En ny virtuell instansserver
- Konsul installerad på servern
- Om du inte har någon konsul installerad kan du lära dig här
Skapa en servicedefinition
Du kan skapa en tjänst med vilken textredigerare som helst. Här använder vi nano-textredigerare. Du kan skapa en konfigurationsfil för webbtjänster med följande kommando. nano / tmp / consul_services / web.json En webbtjänstkonfiguration ser något ut som detta:
"tjänster": [
"name": "serviceA",
"port": 5000,
"kolla upp":
"args": [
"ringla",
"localhost: 5000"
],
"intervall": "3s"
,
"name": "serviceB",
"port": 8000,
"kolla upp":
"args": [
"ringla",
"localhost: 8000"
],
"intervall": "3s"
]
Consul Connect
Consul Connect är en ny funktion i konsul som ger dig säkrare överföring av data till service till service med hjälp av TLS-kryptering och identitetsbaserad auktorisering. Den är enkel att använda och användarvänlig. Du kan enkelt aktivera det med bara ett konfigurationsalternativ. Och för de befintliga applikationerna behöver du bara lägga till en enda rad i servicekonfigurationen.
Det finns många nya funktioner tillgängliga för konsul med connect. Låt oss börja diskutera några av dem:
- Integrerad integrering: Du kan integrera känsliga applikationer med konsulanslutna API: er för att skapa anslutningar utan proxy.
- Certifikathantering: Konsul genererar och distribuerar certifikat med en certifikatutfärdare.
- Krypterad trafik: Consul connect använder TLS-kryptering för att säkra data under transport. Så du kan också distribuera tjänsterna i miljöer med låg tillförlitlighet.
- Proxy sidovagnar: Du kan använda proxysidor för att skapa inkommande och utgående TLS-anslutningar automatiskt.
Proxy Sidevagnar
Vi vet att vi kan använda proxysidor för att skapa inkommande och utgående anslutningar. Här ser vi ett exempel på hur man använder proxysidor. Genom att lägga till en enda rad i tjänstekonfigurationen kan den tjänsten ta emot anslutningsbaserad anslutning. Linjen bör börja med anslut så här:
"tjänst":
"name": "mysql",
"port": 3306,
"connect": "proxy":
Du kan se i ovanstående konfiguration genom att bara lägga till en rad i konfigurationen, den kommer automatiskt att utforma konsulen för att starta och hantera proxyprocess för denna tjänst. Du kan lägga till fler konfigurationslinjer i anslutningsblocket för att kommunicera med andra tjänster. Till exempel, om den här tjänsten vill kommunicera till db-tjänsten via anslutning kommer konfigurationen att vara så här:
"tjänst":"name": "mysql",
"port": 3306,
"anslut":
"proxy":
"config":
"uppströms": [
"destination_name": "db",
"local_bind_port": 9191
]
All överföring mellan mysql-tjänsten och db-tjänsten kommer att vara helt säker och krypterad. Du kan också se att genom att lägga till ansluta till konfigurationen är det ingen förändring i den tidigare mysql-tjänsten. Så på detta sätt möjliggör alla befintliga applikationer också en anslutningsbaserad anslutning genom att bara lägga till en rad i konfigurationen.
Webbgränssnitt
Öppna din favoritwebbläsare och besök http: // YourDomain.com: 8500 för att komma åt konsulens instrumentpanel. Du kan hantera alla dina tjänster, noder och avsikter därifrån. Du kan styra åtkomsten mellan tjänster från fliken Intention från instrumentpanelen.
Avsikten är en policy som specificerar regeln för att kommunicera mellan tjänster. Du kan också skapa nya avsikter för att tillåta eller neka åtkomst mellan alla källtjänster och destinationstjänster.
Du kan se en lista över alla tjänster under servicefliken från instrumentpanelen.
Slutsats
I den här guiden har du lärt dig att installera Consul på din server och använda konsultjänstnät för att kommunicera mellan tjänster.