Observação:

Execute um Oracle Cloud Native Environment Compacto

Introdução

A release 1.5 do Oracle Cloud Native Environment introduziu a implantação compacta, permitindo que cargas de trabalho do Kubernetes não do sistema sejam executadas nos nós de plano de controle. Ao definir --compact como true, o Servidor de API da Plataforma não exibe o(s) nó(s) do plano de controle. Essa definição permite que cargas de trabalho do Kubernetes que não sejam do sistema sejam programadas e executadas nos nós de plano de controle.

Importante: Essa opção deve ser definida como falsa (o padrão) para ambientes de produção.

Durante este tutorial, você cria, valida e instala uma implantação compacta do Oracle Cloud Native Environment.

Objetivos

Pré-requisitos

Um único sistema Oracle Linux 8 ou posterior provisionado com o seguinte:

Isenção de Responsabilidade do Suporte Técnico Oracle

A Oracle não fornece suporte técnico para a sequência de etapas nas instruções a seguir porque essas etapas se referem a uma topologia de implantação NÃO destinada a ser usada em Produção. Este tutorial fornece instruções opcionais como uma conveniência apenas para ajudar a facilitar os desenvolvedores a testar os serviços localmente durante o desenvolvimento.

O método suportado pela Oracle para o desenvolvimento e o gerenciamento de aplicativos nativos da nuvem é o Oracle Cloud Native Environment. Para obter mais informações, consulte https://docs.oracle.com/en/operating-systems/olcne/.

Configurar Ambiente de Laboratório

Observação: ao usar o ambiente de laboratório gratuito, consulte Conceitos Básicos do Oracle Linux Lab para obter conexão e outras instruções de uso.

Informações: O ambiente de laboratório gratuito implanta o Oracle Cloud Native Environment no nó fornecido, pronto para a criação de ambientes. Esta implantação leva aproximadamente de 8 a 10 minutos para ser concluída após o início. Portanto, talvez você queira se afastar enquanto isso é executado e, em seguida, retornar para concluir o laboratório.

  1. Se ainda não estiver conectado, abra um terminal e conecte-se via ssh ao sistema ocne-node01.

    ssh oracle@<ip_address_of_ol_node>
    

    Observação: (Opcional) O ambiente de laboratório gratuito implanta automaticamente uma solução alternativa de política do SELinux que aborda o seguinte problema reportado nos logs de auditoria. Esse erro pode impedir implantações apropriadas do Oracle Cloud Native Environment em algumas situações. Você pode examinar o log do sistema usando sudo journalctl -xe e as setas do teclado para navegar nos logs e determinar se isso está ocorrendo no seu ambiente. Não é necessário executá-lo no ambiente de laboratório gratuito fornecido.

    Jun 16 19:03:51 ocne-node01 setroubleshoot[125840]: SELinux is preventing iptables from ioctl access on the directory /sys/fs/>
    

    Solução Alternativa:

    echo '(allow iptables_t cgroup_t (dir (ioctl)))' | sudo tee /root/local_iptables.cil
    sudo semodule -i /root/local_iptables.cil
    

Criar um Arquivo de Configuração da CLI da Plataforma

O uso de um arquivo de configuração baseado em YAML simplifica a criação e o gerenciamento de ambientes e módulos. O arquivo de configuração inclui detalhes sobre os ambientes e módulos que você deseja criar, salvando assim a inserção repetida das opções de comando da CLI da Plataforma.

Ao usar um arquivo de configuração, passe a opção --config-file para qualquer comando da CLI da Plataforma, pois ela é uma opção de comando global. A opção --config-file desativa outras opções de linha de comando, exceto para a opção --force. O comando olcnectl ignora outras opções de linha de comando e só usa os valores no arquivo de configuração.

O ambiente de laboratório gratuito gera um arquivo de configuração a ser usado neste exercício. Para obter informações sobre a criação manual de um arquivo de configuração, consulte Usando um Arquivo de Configuração na documentação da Oracle.

  1. Exiba o conteúdo do arquivo de configuração.

    cat ~/myenvironment.yaml
    
    • A opção environment-name define o ambiente em que os módulos são implantados.
    • A opção module: implanta o módulo kubernetes com um cluster name: de mycluster.
    • A opção compact: define a implantação para acontecer no nó do plano de controle.

    Observação: A opção worker-nodes: não existe neste arquivo de configuração. A remoção dessa opção do arquivo de configuração é necessária ao usar compact:, pois os módulos esperam implantar apenas em um único nó do plano de controle.

Criar o Ambiente e o Módulo Kubernetes

  1. Crie o ambiente.

    cd ~
    olcnectl environment create --config-file myenvironment.yaml
    

    Exemplo de Saída:

    [oracle@ocne-node01 ~]$ olcnectl environment create --config-file myenvironment.yaml
    Environment myenvironment created.
    
  2. Crie o módulo Kubernetes.

    olcnectl module create --config-file myenvironment.yaml
    

    Exemplo de Saída:

    [oracle@ocne-node01 ~]$ olcnectl module create --config-file myenvironment.yaml
    Modules created successfully.
    
  3. Valide o módulo Kubernetes.

    olcnectl module validate --config-file myenvironment.yaml
    

    Exemplo de Saída:

    [oracle@ocne-node01 ~]$ olcnectl module validate --config-file myenvironment.yaml
    Validation of module mycluster succeeded.
    

    Não há erros neste exemplo. Se houver erros, a saída do comando fornecerá a sintaxe necessária para corrigir e passar na verificação de validação.

  4. Instale o módulo Kubernetes.

    olcnectl module install --config-file myenvironment.yaml
    

    A implantação do Kubernetes nos nós pode levar alguns minutos para ser concluída.

    Exemplo de Saída:

    [oracle@ocne-node01 ~]$ olcnectl module install --config-file myenvironment.yaml
    Modules installed successfully.
    

    Observação: Se a instalação do módulo falhar, ele poderá reportar erro: o módulo "mycluster" nunca atingiu um estado íntegro. Último estado: externalip-webhook não está íntegro. Este erro provavelmente se deve a uma configuração incorreta no ambiente ou certificados e faz com que o pod tenha um status incorreto.

    A explicação de tópicos em qualquer detalhe está além do escopo deste tutorial. No entanto, no nível mais simples, a dica de um nó determina onde qualquer nó específico atrai ou redireciona pods para o nó em questão. Como essa implantação só tem um nó, ela precisa ter um estado untainted para permitir que qualquer Pod seja implantado nele com sucesso. Para obter mais informações sobre dica, consulte dica e tolerância na documentação upstream do Kubernetes.

  5. Valide a implantação do módulo Kubernetes.

    olcnectl module instances --config-file myenvironment.yaml
    

    Exemplo de Saída:

    [oracle@ocne-node01 ~]$ olcnectl module instances --config-file myenvironment.yaml
    INSTANCE       	MODULE    	STATE    
    10.0.0.140:8090	node      	installed
    mycluster      	kubernetes	installed
    

Configurar a Ferramenta de Linha de Comando do Kubernetes e Validar o Ambiente do Kubernetes

  1. Configure o comando kubectl.

    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    export KUBECONFIG=$HOME/.kube/config
    echo 'export KUBECONFIG=$HOME/.kube/config' >> $HOME/.bashrc
    
  2. Verifique se kubectl funciona.

    kubectl get nodes
    

    Exemplo de Saída:

    [oracle@ocne-node01 ~]$ kubectl get nodes
    NAME          STATUS   ROLES    AGE     VERSION
    ocne-node01   Ready    <none>   5m30s   v1.22.8+1.el8
    
  3. Obtenha uma lista de pods.

    kubectl get pods -A
    

    Exemplo de Saída:

    [oracle@ocne-node01 ~]$ kubectl get pods -A
    NAMESPACE                      NAME                                             READY   STATUS    RESTARTS   AGE
    externalip-validation-system   externalip-validation-webhook-7988bff847-bkvxd   1/1     Running   0          5m47s
    kube-system                    coredns-7cbc77dbc7-4rghr                         1/1     Running   0          5m47s
    kube-system                    coredns-7cbc77dbc7-lp7x6                         1/1     Running   0          5m47s
    kube-system                    etcd-ocne-node01                                 1/1     Running   0          6m7s
    kube-system                    kube-apiserver-ocne-node01                       1/1     Running   0          6m7s
    kube-system                    kube-controller-manager-ocne-node01              1/1     Running   0          6m7s
    kube-system                    kube-flannel-ds-5spkp                            1/1     Running   0          5m47s
    kube-system                    kube-proxy-cq27f                                 1/1     Running   0          5m47s
    kube-system                    kube-scheduler-ocne-node01                       1/1     Running   0          6m7s
    kubernetes-dashboard           kubernetes-dashboard-5d5d4947b5-n2vcd            1/1     Running   0          5m47s
    

A saída confirma que tudo está funcionando corretamente e pronto para você implantar seus aplicativos desenvolvidos localmente no Oracle Cloud Native Environment para teste.

Resumo

Obter uma versão compacta do Oracle Cloud Native Environment instalada é apenas o início, e é uma ferramenta útil para ajudar com testes e desenvolvimento locais. Para obter mais exemplos, confira Executar o Kubernetes no Oracle Linux.

Para Obter Mais Informações

Mais Recursos de Aprendizagem

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal YouTube do Oracle Learning. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.