‫Alguns dos comandos que você está usando até agora têm um pouco de automação, conhecidos como geradores e geradores
‫que você pode imaginar como modelos.
‫Eles essencialmente criam a especificação ou a especificação a ser aplicada ao cluster de redemoinhos cubanos com base nas opções
‫da linha de comando.
‫Então você pensa em comandos como executar, expor e criar.
‫Eles costumam ter geradores por trás deles que fornecem o modelo necessário com todos os campos e os padrões que
‫você não está necessariamente especificando na linha de comando.
‫Essencialmente, o objetivo desses geradores é facilitar o uso de comandos de uma linha, como você
‫costumava usar com composições e enxames cada vez mais escuros, para usar esses comandos de uma linha em
‫redemoinhos cubanos, deixando algumas das configurações mais avançadas padrões e realmente enxame faz isso para enxame tem muitos
‫padrões quando você cria serviços e pilhas que estão acontecendo em segundo plano que você
‫não conhece.
‫Então esses geradores são assim.
‫Então, aqui está um exemplo em que estamos criando uma implantação com o
‫comando create e fornecendo algumas opções para atender aos requisitos mínimos e preencher o restante da especificação com
‫um gerador.
‫Agora, esses geradores são diferentes para cada tipo de coisa que você está criando, seja um serviço,
‫uma implantação, um trabalho ou um cron.
‫Outras coisas sobre as quais falaremos mais tarde e esses geradores podem realmente mudar com o tempo, à medida
‫que cada versão das comunidades sai, elas podem alterar uma ou duas propriedades dessa especificação.
‫E, portanto, estas têm versões algumas vezes, se você já viu na documentação, pode ver alguns Yama para entidades
‫cubanas e diz algo sobre o BDA.
‫Bem, muitas vezes, quando um gerador é criado pela primeira vez, ele pode ter uma versão beta e, à medida que se
‫torna um gerador maduro, ele tem uma v1.
‫Agora, não podemos realmente obter uma lista de geradores na linha de comando, pois abrange diferentes comandos
‫e opções diferentes de quais geradores podem ser usados.
‫Portanto, a maneira mais fácil aqui em todos esses comandos diferentes para ver o que seria gerado
‫se você digitasse esse comando em um cluster é usar duas opções.
‫A execução a seco, que é realmente uma maneira elegante de mostrar a saída do que você digitou, e
‫veremos isso em um segundo e depois o traço 0, que significa saída, e estamos dizendo que queremos uma saída
‫no Iêmen, então estamos essencialmente dizendo: execute este comando, mas não o faça tecnicamente no cluster, apenas tente
‫para ver o que aconteceria se eu fizesse isso e, ao mesmo tempo, mostre-me a saída Yamato do que seria
‫gerado se eu concluir esse comando e você essencialmente, você terá pequenos modelos agradáveis e
‫você pode usá-lo para começar a criar sua própria demonstração, que usaremos em palestras posteriores e finalmente geradores aqui.
‫Você também pode considerá-los padrões padrão.
‫Eles realmente não são opinativos, são super pequenos.
‫Geralmente, são de 10 a 15 linhas de UML, apenas o mínimo necessário para começar.
‫Portanto, eles têm opiniões, e é por isso que estão tendo versões e você pode ver uma versão beta
‫graduada e outros enfeites.
‫Portanto, eu os considero opinativos, mas eles estão bem, certo de que vão funcionar na maioria dos casos de uso quando
‫você está apenas tentando o teste de Devin.
‫Então, vamos dar alguns exemplos para ver esses geradores na linha de comando.
‫A primeira aqui é uma implantação como a que usamos antes da criação
‫da criação e você notará que eu coloco o traço no final, e se você fizer apenas um no final, cuspirá o tipo
‫de recurso criaria.
‫Portanto, isso é semelhante ao nome do recurso que vemos quando o listamos com um comando get de controle de cubo.
‫Mas se eu apertar a seta para cima e digitar dash o yam no final, ele me mostrará a saída do Iêmen
‫que gerou com esse comando e iremos examinar todas as especificações do Iêmen mais tarde, mas por enquanto você
‫pode ver o partes principais do que foi feito em segundo plano quando criamos o comando
‫de implantação.
‫Primeiro, mostra a versão da API a versão desse tipo de recurso, por isso estamos usando uma versão da barra de aplicativos v
‫1 aqui.
‫O tipo é a implantação e é porque estamos criando uma implantação.
‫Se era um trabalho, era tão bom se fosse um serviço, diria serviço esse tipo de coisa.
‫Os metadados sempre estarão disponíveis para qualquer recurso que você criar.
‫Ele terá o carimbo de data / hora opcional, porque será gerado automaticamente quando você realmente
‫criar essa coisa e, em seguida, você terá rótulos e um atributo de nome aqui que você pode especificar.
‫Nesse caso, você verá que está preenchido um muito disso com a linha de comando que eu
‫disse que quero chamar de teste.
‫Portanto, está dando um nome de teste a ele; está atribuindo a ele um aplicativo, já que estamos usando uma implantação aqui.
‫Considera um aplicativo não um serviço ou algo mais e está chamando esse teste de rótulo.
‫Esses são apenas padrões prontos para uso e, em seguida, as especificações para a implantação são réplicas de uma que o seletor
‫entrará mais tarde, mas é basicamente assim que essa coisa determina a seleção dos pods nessa
‫implantação.
‫É basicamente o que corresponde a essa implantação em seus pods e depois a estratégia que deixamos
‫em branco, o modelo aqui é para o conjunto e você verá sob essa especificação os contêineres que ele criará.
‫Portanto, há um pouco de uma camada aninhada de especificações acontecendo aqui e isso se deve à complexidade
‫dessas camadas.
‫Temos pods, conjuntos de réplicas e implantações além disso.
‫Então você pode ver que ele está criando tudo isso rapidamente e aplicaremos isso à API quando clicarmos neste
‫comando.
‫Vamos criar mais alguns aqui.
‫O segundo está usando trabalhos em vez de implantações.
‫Portanto, geralmente é projetado quando você deseja criar um conjunto de caminhos que serão executados uma vez.
‫Portanto, tende a defini-los com um padrão para não reiniciar.
‫E, neste caso, vamos usar a mesma imagem com o mesmo nome.
‫Vamos executá-lo a seco com a saída de traço Jamil e você verá o quão diferente é.
‫Nesse caso, como não temos os vários níveis de uma implantação com um conjunto de réplicas aninhado, não
‫precisamos dos vários níveis de especificação e você verá.
‫Primeiro, este é muito mais curto e isso se deve principalmente ao fato de que,
‫com as implantações, ele cria um conjunto de réplicas aninhadas, que cria o pod para que haja vários níveis.
‫Estava aqui.
‫Realmente temos esse trabalho em lote criando pods diretamente para nós, para que você possa ver a parte superior da versão
‫da API e os tipos que mudaram, os metadados são muito semelhantes, embora neste caso
‫não tenha criado um rótulo de aplicativo e as especificações sejam apenas para os trabalhos e, em seguida, abaixo das especificações.
‫Está dentro desse modelo a especificação de cada pod de contêiner certo.
‫Portanto, essa especificação seria criada para quantos eu pedisse para criá-la.
‫Nós criamos apenas um por padrão, então ele terá um contêiner executando o mecanismo X com o teste de
‫nome e você perceberá que a política de reinicialização nunca é e essa é realmente a mudança na maioria dessas
‫outras maneiras de criar contêineres nas cidades cubanas.
‫Eles tentarão recriar ou reiniciar automaticamente e, com um trabalho ou mais tarde com um cron, você verá que a política
‫de reinicialização está definida como nunca.
‫Porque, normalmente, uma vez que um trabalho é concluído, é feito e você não deseja esse contêiner ou o recria.
‫E, finalmente, vamos fazer um comando de exposição.
‫Agora, mesmo que haja uma execução a seco aqui, quando você executa a implantação exposta, ele verificará essa implantação e perceberá
‫que ela não existe, para que não possa fornecer a saída de amostra porque realmente não
‫possui a entrada válida.
‫Portanto, neste caso, tecnicamente precisamos criar uma
‫implantação e, neste caso, não precisamos que ela seja executada a seco e produzimos apenas a criação.
‫Então, vamos fazer isso e voltar ao comando exposto e tentar novamente e, em seguida, a execução
‫a seco funcionará dessa vez.
‫Portanto, teremos uma versão API da V1.
‫Você notará que o serviço é do tipo agora, em vez de implantação ou trabalho.
‫E então temos outros rótulos semelhantes.
‫Você verá que a especificação tem tudo a ver com portas e protocolos, porque é realmente isso que é um serviço.
‫É a combinação de rotas de rede e sub-rede IP e as portas CCP ou UDP e coisas assim.
‫Portanto, geradores não são necessariamente um grande negócio.
‫Você não precisa memorizá-los ou aprender as diferenças entre todos, porque como você encontrará
‫muitos deles com o comando cube control run estão desaparecendo, como você descobrirá em um minuto.
‫E, em uma palestra posterior, falaremos mais sobre os tipos de maneiras de criar contêineres e talvez por
‫que você não usará muitas execuções e criações em suas cargas de trabalho de produção.
‫E lembre-se de excluir a implantação de teste se você a criou para nosso último comando em que testamos
‫a exposição.