Durante o desenvolvimento iterativo dos seus modelos de nuvem ou quando tiver um modelo final, você pode disponibilizar os modelos para os consumidores no catálogo de autoatendimento do Service Broker. Para melhorar ainda mais a experiência do usuário, é possível criar um formulário de solicitação personalizado. Esse formulário personalizado é mais eficiente do que as opções de entrada de modelo simples.
O que fazer primeiro
- Verifique se você tem a infraestrutura compatível com o seu modelo. Se não tiver, comece com Tutorial: configurando e testando a infraestrutura e as implantações do vSphere no Cloud Assembly e continue com os outros tutoriais.
- Verifique se você marcou alguns pools de recursos como
env:dev
eenv:prod
. Para obter mais informações, consulte Tutorial: Usando tags no Cloud Assembly para gerenciar recursos do vSphere. - Certifique-se de ter um modelo de nuvem implantável, semelhante ao modelo de nuvem abaixo. Este tutorial começa com o modelo a seguir.
formatVersion: 1 inputs: installedOS: type: string title: Operating System description: Select the operating system. enum: - centos - ubuntu placement: type: string enum: - 'env:dev' - 'env:prod' default: 'env:dev' title: Select Placement for Deployment description: Target Environment resources: Cloud_vSphere_Disk_1: type: Cloud.vSphere.Disk properties: capacityGb: 1 Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: '${input.installedOS}' installedOS: '${input.installedOS}' flavor: small constraints: - tag: '${input.placement}' tags: - key: db value: mysql networks: - network: '${resource.Cloud_NSX_Network_1.id}' tags: - key: db value: mysql attachedDisks: - source: '${resource.Cloud_vSphere_Disk_1.id}' Cloud_NSX_Network_1: type: Cloud.NSX.Network properties: networkType: existing tags: - key: NGINX value: web
Etapa 1: Adicionar entradas ao modelo de nuvem
Além da entrada do tipo de SO existente, este procedimento atualiza a entrada de posicionamento e adiciona uma entrada de tamanho. Ao personalizar o formulário de solicitação no Service Broker, estes são os três campos no formulário de solicitação que são personalizados.
- Em Cloud Assembly, selecione e crie ou abra o modelo fornecido acima.
O modelo de amostra é usado para explicar as diferentes opções e inclui valores de amostra. Adapte-o ao seu ambiente.
- Adicione a variável de tamanho e defina os tamanhos na seção Entradas.
- Na seção Cloud_vSphere_Machine_1, adicione uma variável à propriedade
flavor
.flavor: '${input.size}'
- Na seção Entradas, adicione um tamanho de nome para entrada pelo usuário, para que o usuário possa selecionar o tamanho da implantação. Isso às vezes é conhecido como o tamanho de camiseta que você definiu para as zonas de nuvem.
size: type: string title: Deployment size description: Select the the deployment t-shirt size. enum: - small - medium - large
- Na seção Cloud_vSphere_Machine_1, adicione uma variável à propriedade
- Atualize as entradas de posicionamento com um termo descritivo no lugar das strings de tag.
Essas marcas de restrição serão correspondidas com as tags de recurso que você adicionou em Tutorial: Usando tags no Cloud Assembly para gerenciar recursos do vSphere.
- Na seção Entradas, adicione uma entrada de usuário chamada posicionamento para que o usuário possa selecionar Desenvolvimento ou Produção como o posicionamento da implantação.
Este exemplo usa o atributo
oneOf
, que permite apresentar um rótulo de linguagem natural e, ao mesmo tempo, ainda envia as cadeias de caracteres exigidas pelo processo de implantação. Por exemplo, as tagsenv:dev
eenv:prod
.placement: type: string oneOf: - title: Development const: 'env:dev' - title: Production const: 'env:prod' default: 'env:dev' title: Select Deployment Placement description: Target Environment
- Na seção Entradas, adicione uma entrada de usuário chamada posicionamento para que o usuário possa selecionar Desenvolvimento ou Produção como o posicionamento da implantação.
- Revise o YAML completo para garantir que ele seja semelhante ao exemplo a seguir.
formatVersion: 1 inputs: installedOS: type: string title: Operating system description: Select the operating system. enum: - centos - ubuntu placement: type: string oneOf: - title: Development const: 'env:dev' - title: Production const: 'env:prod' default: 'env:dev' title: Select Deployment Placement description: Target Environment size: type: string title: Deployment size description: Select the the deployment t-shirt size. enum: - small - medium - large resources: Cloud_vSphere_Disk_1: type: Cloud.vSphere.Disk properties: capacityGb: 1 Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: '${input.installedOS}' installedOS: '${input.installedOS}' flavor: '${input.size}' constraints: - tag: '${input.placement}' tags: - key: db value: mysql networks: - network: '${resource.Cloud_NSX_Network_1.id}' tags: - key: db value: mysql attachedDisks: - source: '${resource.Cloud_vSphere_Disk_1.id}' Cloud_NSX_Network_1: type: Cloud.NSX.Network properties: networkType: existing tags: - key: NGINX value: web
- Clique em Implantar e verifique se a segunda página da solicitação é semelhante ao exemplo a seguir. Em seguida, você poderá verificar se a implantação está no desenvolvimento selecionado do pool de recursos de produção após a implantação.
Etapa 2: Criar uma versão e liberar o modelo de nuvem
Quando você tiver um modelo implantável, poderá disponibilizá-lo no catálogo do Service Broker para outros usuários implantarem. Para tornar o modelo de nuvem detectável de forma que seja possível adicioná-lo ao catálogo, você deve liberá-lo. Neste procedimento, iremos criar uma versão, capturar um snapshot do modelo e, em seguida, liberar o modelo.
- Selecione e abra o modelo na tela de design.
- Clique em Versão e insira uma descrição.
- Marque a caixa de seleção Liberar e clique em Criar.
A liberação do modelo de nuvem não o adiciona automaticamente ao Service Broker. Liberá-lo o torna detectável para que você possa adicioná-lo ao catálogo.
Etapa 3: Adicionar o modelo de nuvem ao catálogo do Service Broker
Você pode usar o Service Broker para fornecer modelos de nuvem para outros consumidores na sua organização, onde eles não precisam ter conhecimento de como criar um modelo. O catálogo permite que eles implantem o modelo.
Para poder adicionar o modelo como um item de catálogo, você deve importá-lo para o Service Broker. Apenas é possível importar modelos de nuvem liberados.
- Para abrir o Service Broker a partir do Cloud Assembly, clique no menu de aplicativos no canto superior direito.
- Clique em Service Broker.
- Importe o modelo de nuvem
- No Service Broker, selecione .
- Clique em Novo e depois selecione VMware Cloud Templates.
- Insira um Nome.
Para este tutorial, insira Cloud Assembly DevProject.
- Para Projeto, selecione o Projeto de Desenvolvimento que você criou no Cloud Assembly.
- Clique em Validar.
O sistema deve indicar que foi encontrado pelo menos um item.
- Quando validado, clique em Criar e Importar.
Cloud Assembly DevProject é adicionado à lista como uma fonte de conteúdo.
- Disponibilize o modelo de nuvem no catálogo.
- Selecione .
- Clique em Nova Política e depois em Política de Compartilhamento de Conteúdo.
- Insira um Nome.
Para este tutorial, digite Política de DevProject.
- Na lista Escopo, selecione Projeto de Desenvolvimento.
- Na seção Conteúdo compartilhado, clique em Adicionar Itens.
- Na caixa de diálogo Compartilhar Itens, selecione
Cloud Assembly DevProject
e clique em Salvar. - Na seção Usuários, selecione os usuários e os grupos do projeto cujo item você deseja no catálogo.
- Clique em Criar.
- Para verificar se o Modelo de Desenvolvimento foi adicionado ao catálogo, clique em .
- Clique em Solicitar no cartão Modelo de Desenvolvimento.
Perceba que as entradas vistas no modelo de nuvem são fornecidas aqui. O próximo passo é personalizar o formulário de solicitação.
Etapa 4: Criar um formulário personalizado para o modelo
O objetivo desse formulário personalizado é fornecer um formulário no qual o usuário seleciona o sistema operacional e o posicionamento com base nas tags env:dev ou env:prod. Em seguida, a opção env:dev permite que o usuário selecione pequeno ou médio (grande não é uma opção). No entanto, se o usuário selecionar env:prod, não haverá uma opção para selecionar grande. O tamanho ficará oculto para o usuário, mas estará incluído na solicitação.
- Para criar um formulário personalizado no Service Broker, selecione .
- Clique nas elipses verticais à esquerda da entrada Modelo de Desenvolvimento e clique em Personalizar formulário.
- Personalize a opção de entrada.
- Clique nos campos da tela e configure as Propriedades conforme especificado na tabela a seguir.
Nome do campo da tela Aparência Valores Restrições Sistema operacional Rótulo e tipo
- Rótulo = Sistema operacional
Opções do valor
- Opções de valor = Constante
- Origem do valor =
centos|CentOS,ubuntu|Ubuntu
Este exemplo usa as opções de valor para personalizar todos os nomes de sistema operacional em minúsculas com o nome do SO preferencial.
Selecionar Posicionamento da Implantação Opções do valor
- Opções de valor = Constante
- Origem do valor =
env:dev|Development,env:prod|Production
Tamanho da Implantação Visibilidade
- Origem do valor = Valor condicional
- Definir valor = Sim se Selecionar Posicionamento da Implementação for igual a env:dev
Valor padrão
- Origem do valor = Valor condicional
- Definir valor = Grande se Selecionar Implantação for igual a env:prod
Opções do valor
- Opções de valor = Constante
- Origem do valor =
small|Small,medium|Medium
Observe que a origem do valor não inclui Grande. Grande é excluído porque só está disponível para Produção e é o valor necessário. O valor Grande está incluído na solicitação de implantação sem uma ação iniciada pelo usuário.
- Para ativar o formulário no catálogo, clique em Ativar.
- Clique em Salvar.
- Clique nos campos da tela e configure as Propriedades conforme especificado na tabela a seguir.
- Para garantir os resultados corretos enviando pelo menos um formulário Desenvolvimento Pequeno e uma solicitação de Produção e teste o formulário no catálogo.
Use os exemplos a seguir para verificar os resultados.
- Teste o formulário de solicitação Desenvolvimento Pequeno fornecendo um nome, Teste pequeno neste exemplo, e selecionando CentOS, Desenvolvimento e Pequeno para as opções.
- Para verificar a implantação Desenvolvimento Pequeno, selecione e clique na implantação Teste pequeno.
- Na guia Topologia, clique na guia Cloud_vSphere_Machine e localize a seção Propriedades Personalizadas no painel direito.
Alguns dos valores a revisar incluem cpuCount = 2 e flavor = small.
- Teste o formulário de solicitação de Produção inserindo um nome, Teste grande neste exemplo, e selecione CentOS e Produção para as opções.
Lembre-se de que você configurou o formulário para não exibir nem exigir que o usuário selecione o tamanho.
- Para verificar a implantação de Produção, selecione e clique na implantação Teste grande.
- Na guia Topologia, clique na guia Cloud_vSphere_Machine e localize a seção Propriedades Personalizadas no painel direito.
Alguns dos valores a serem revisados incluem cpuCount = 8 e flavor = large.
- Teste o formulário de solicitação Desenvolvimento Pequeno fornecendo um nome, Teste pequeno neste exemplo, e selecionando CentOS, Desenvolvimento e Pequeno para as opções.
Etapa 5: Controlar as versões do modelo de nuvem no catálogo
Na maioria dos casos, você deseja disponibilizar apenas os modelos de nuvem mais recentes no catálogo do Service Broker. O procedimento a seguir oferece suporte ao desenvolvimento iterativo, no qual você libera uma versão do modelo e a adiciona ao catálogo. Porém, agora você aprimorou o modelo e deseja substituir a versão atual pela mais recente.
Na etapa 2, você criou uma versão de modelo e a liberou e, portanto, está familiarizado com o processo. Na etapa 3, você o adicionou ao catálogo. Este procedimento vincula as duas etapas anteriores à medida em que você realiza o desenvolvimento iterativo e atualiza o catálogo com a versão mais recente.
Você tem a opção de disponibilizar várias versões no catálogo.
- No Cloud Assembly, crie uma versão do modelo que você deseja disponibilizar no catálogo.
- Selecione e abra o modelo na tela de design.
- Clique em Histórico de Versões.
- Localize a versão que você deseja adicionar ao catálogo e clique em Versão.
- Insira uma Descrição, marque a caixa de seleção Liberação e clique em Criar.
Nesse ponto, você tem a opção de manter a versão antiga no catálogo. Se quiser várias versões, ignore a próxima etapa de cancelamento do liberação de uma versão.
- Para disponibilizar apenas uma versão do modelo no catálogo, reveja a lista de histórico de versões e clique em Cancelar liberação em cada versão que você não deseja no catálogo.
- Para atualizar o catálogo do Service Broker com a versão mais recente e substituir qualquer versão antiga, você deve coletar a nova versão.
- No Service Broker, selecione .
- Clique na fonte de conteúdo DevProject do Cloud Assembly usada neste tutorial.
- Clique em Validar.
Você deve ver uma mensagem de que um item foi encontrado.
- Clique em Salvar e Importar.
- Verifique se o catálogo exibe as versões necessárias ou nenhuma versão.
- No Service Broker, clique em .
- Localize o item do catálogo e clique em Solicitação.
- No topo do formulário de solicitação, clique em Versão e verifique a(s) versão(ões).
A captura de tela a seguir mostra 8.