bom pessoal seguinte então eu falei pra vocês dos tipos de serviço que a gente tem né então o negócio é o seguinte galera olha só eu vou dar um um clube ctl get pode ea gente vai ver aqui que a gente tem cinco pode rodando aqui ó legal o ponto é que toda vez que eu for chamar o indynex eu quero que eu faça tenha esse balancing automático. Uma hora ele chama esse, outra hora esse, outra hora esse e assim vai. Beleza? Então, o que a gente vai fazer aqui nesse momento, galera? Nós vamos criar um service e apontar esse service para esses pods. Então, toda vez que eu chamar um service, a gente vai ter isso aí resolvido. Legal? Então, toda vez que eu chamar um service, a gente vai ter isso aí resolvido. Legal? Então, vamos lá. Para criar o service, é como criar qualquer outro manifesto do Kubernetes. Então, eu vou criar aqui um service.yaml. Legal? E no service.yaml eu vou pedir um autocomplete aqui para ele me ajudar. E aqui vai ser a nossa brincadeira, como que a gente vai fazer. Bom, o service, ele tem um API version, né? E ele tem o tipo de objeto, o tipo de recurso aqui do Kubernetes que é chamado de service. E aí, o que eu vou ter? Eu vou ter uma parada aqui chamada de metadata. Ou seja, onde eu decido qual é o nome que eu vou dar para esse service. Então, eu vou chamar o nome desse serviço de NginxService, somente para a gente distinguir do nome do deployment, etc. Legal? Agora, o grande ponto é o seguinte, lembra que eu falei para vocês que um service ele vai fazer a chamada para diversos pods, mas esses pods são os mesmos? Como que eu consigo fazer com que esses pods sejam os mesmos? Eu não sei se você lembra, quando a gente estava trabalhando aqui com o deploy, e eu falei que para que esse deploy fique gerenciando os pods que ele criou aqui pelo replica set, eu criei um match labels aqui, né? E eu falei, todas as labels que tem app com Nginx, tá? Esse deployment vai gerenciar esses pods. E aqui eu crio um pod onde a label é app Nginx. Então eu tenho um seletor aqui para a gente, para eu selecionar apenas os pods que eu quero nesse deployment. O service é exatamente a mesma coisa. Então o que vai acontecer? Eu vou falar quais pods esse service vai apontar. E aqui eu vou falar o seguinte, você vai apontar para todos os pods cujo o app, dois pontos igual, é Nginx. Legal? Então, eu sei que toda vez que eu bater nesse service, o nosso camarada, o Kubernetes vai falar quais são os pods que eu estou selecionando para redirecionar para esse service. E aí ele vai buscar isso aqui e vai encontrar os pods que a gente colocou. Agora aqui é um ponto importante para você entender, que são as portas. Quando eu vou configurar as portas eu tenho duas portas que eu quero falar uma porta é a porta do serviço o que isso significa vamos imaginar que eu quero fazer o seguinte toda vez que eu acesse o end nec service na porta 8080 tá ele vai chamar os pods e vai redirecionar esses pods para a porta 80 do meu container. Então o que vai acontecer? Eu chamei o Nginx Service para a porta 8080, eu bato na porta 8080 do service, aí o Nginx Service vai ver quais são os pods que ele tem disponível e ele vai mandar essa requisição para porta target que a porta 80 legal quando ele bater no pode na porta 80 ele vai olhar aqui nesse pode e vai falar qual é a porta do container que eu tenho disponível? É a 80. Então, ele vai bater na porta 80 do container. Então, basicamente aqui, você fala qual é a porta do service e qual é a porta que ele vai redirecionar o pod. Então, não necessariamente essas portas devem ser iguais. Podem ser portas diferentes. Eu posso colocar aqui a porta 3.000 todo mundo que bater na porta 3.000 do meu serviço vai mandar para a porta 80 lado indirex tá mas eu posso também se eu quiser não tem problema nenhum eu mandar esse cara para a porta 80 então o que significa significa que toda vez eu chamar o pode na 80, ele vai redirecionar para a porta 80 do meu Nginx. Então, isso aqui não tem problema nenhum. Agora, uma coisa que você deve estar se perguntando é, Wesley, aonde que eu defino aqui que esse meu service é do tipo cluster IP classe ip load balança a etc basicamente é o seguinte se você não colocar nada o valor padrão vai ser sempre o cluster ip legal mas se eu quiser eu também eu posso especificar o tipo aqui tá então? Então eu posso chegar aqui, eu posso colocar type aqui, e eu vou colocar assim, cluster IP. Legal? E beleza. Dá na mesma com o cluster IP. Eu posso ter ou não ter. Ele sempre vai criar aqui pra mim como um cluster IP. Legal? Então o que vai acontecer aqui nesse momento? Eu vou dar um kubectl apply-f service.yaml momento eu vou a dar um cubo e ttl a play menos f serve-se ponte e mo e aqui ele vai falar pra mim que ele criou o serviço né o objeto serve-se aqui barra em direct service creio que aqui pra gente legal como é que eu consigo ver agora o serviço que eu tenho criado então vou fazer o seguinte o dom cubo e tectl, get services, ou pode ser svc também, dá na mesma, tá? E aqui, ó, ele vai trazer para mim, tá? Dois services. O primeiro service é o service do próprio Kubernetes. Ou seja, esse service sempre vai ter e você não gerencia ele, você não mexe nele. Ou seja, esse service sempre vai ter e você não gerencia ele, você não mexe nele. Agora, existe um outro service aqui chamado de Nginx Service. Legal? Esse Nginx Service, o que ele vai fazer? Ele é do tipo Cluster IP, se você olhar, e você vê aqui que ele tem um IP que foi gerado para ele. Você também vê aqui qual é a porta que esse service tem, que ele está disponibilizando. Novamente, eu vou dar um exemplo aqui para você em relação ao IP. Eu vou deletar esse service, kubectl, delete service, nginx service, então eu deletei, e vou criar de novo o service. E agora eu vou listar os services aqui para a gente. Olha só que interessante. Eu não sei se você percebeu, mas quando eu criei o service pela primeira vez, eu ganhei esse IP no meu service. Quando eu criei novamente esse mesmo service, eu ganhei um outro IP. Então o que dá para perceber aqui? Que o IP que eu tenho ele é dinâmico. E pelo fato de ele ser dinâmico, o que que vai acontecer simplesmente? Que eu não posso confiar nas minhas aplicações, passando um IP para as minhas aplicações sempre ficarem chamando para chamar o service. Por quê? Porque se em algum momento eu precisar recriar meu serviço todas as minhas aplicações vão ter que ter o seu IP mudado tá então nesse caso aqui o que que você sempre vai ser recomendado nunca chamar diretamente o serviço pelo IP dele você vai chamar o seu serviço e sempre pelo nome dele. E você chamando o service pelo nome dele, você não vai ter problema algum. Então, sempre utilize a resolução de nomes aqui do seu service, chamando esses caras aqui pelo seu service. Legal? No próximo vídeo, o que eu vou mostrar? Eu fazendo um port forward para o meu serviço para poder acessar e eu vou mudar o nome do tipo de serviço para o serviço a load balançar aqui para gente ver beleza então vamos nessa