Iniciando com a Criação de um Cluster

Comece a usar o OCI Streaming com Apache Kafka criando um cluster Kafka em uma tenancy do OCI.

Antes de Começar

Certifique-se de criar os seguintes recursos do OCI na tenancy em que deseja criar o cluster Kafka:

  • Crie uma VCN (Virtual Cloud Network) na tenancy.
  • Crie uma Sub-rede na VCN.
  • Edite a sub-rede para permitir o tráfego (source port range = All) para uma das seguintes portas:
    • Para o mecanismo de autenticação SASL_SCRAM, permita tráfego TCP na porta 9092.
    • Para o mecanismo de autenticação baseado em mTLS, permita o tráfego na porta 9093.

Políticas Obrigatórias do IAM

Crie uma política usando essas instruções no compartimento no qual você cria o cluster do Kafka.

allow group <kafka_admins> to {KAFKA_CLUSTER_INSPECT, KAFKA_CLUSTER_READ, KAFKA_CLUSTER_CREATE, KAFKA_CLUSTER_DELETE, KAFKA_CLUSTER_UPDATE, KAFKA_CLUSTER_CONFIG_READ, KAFKA_CLUSTER_CONFIG_INSPECT, KAFKA_CLUSTER_CONFIG_CREATE, KAFKA_CLUSTER_CONFIG_UPDATE, KAFKA_CLUSTER_CONFIG_DELETE } in compartment <compartment> | tenancy

allow service rawfka to use vnics in compartment <compartment>

allow service rawfka to {SUBNET_READ} in compartment <compartment> 

allow service rawfka to use network-security-groups in compartment <compartment>

allow service rawfka to use subnets in compartment <compartment>

# If you're using SASL_SCRAM authentication - 

allow service rawfka to use secrets in compartment id <compartment> where request.operation = 'UpdateSecret'

Criando um Cluster

Crie os recursos de pré-requisito antes de criar o cluster do Kafka.

  • Abra o menu de navegação e selecione Serviços do Desenvolvedor. Em Integração de Aplicativos, selecione OCI Streaming com Apache Kafka.

    Na página clusters do Kafka, selecione Criar cluster.

    1. Definições do cluster

    • Nome do cluster: Informe um nome exclusivo para o cluster.
    • Compartimento: Selecione o compartimento no qual deseja criar o cluster.
    • Versão do Apache Kafka: Selecione a versão do Apache Kafka a ser usada.
    • Marcando com Tag: (Opcional) Se você tiver permissões para criar um recurso, também terá permissões para aplicar tags de formato livre a esse recurso. Para aplicar uma tag definida, você deve ter permissões para usar o namespace da tag. Para obter mais informações sobre tags, consulte Tags de Recurso. Se você não tiver certeza se deseja aplicar tags, ignore essa opção ou pergunte a um administrador. Você pode aplicar as tags posteriormente.

    2. Configurações do broker

    • Tipo de cluster: Selecione o Cluster inicial ou o Cluster de alta disponibilidade como o tipo de cluster que você deseja criar. O número mínimo de corretores no cluster muda dependendo do tipo selecionado. Um cluster inicial é usado para teste ou desenvolvimento e tem 1 broker como o mínimo. Um cluster de alta disponibilidade é usado para produção e tem 3 corretores como o mínimo.
    • Configuração do broker: Informe o número de brokers que você deseja no cluster e a OCPU necessária por broker. Esses valores são melhor calculados dimensionando o cluster de acordo com os requisitos do cluster. A Memória por broker é alocada com base no número de OCPUs por broker especificado. Cada OCPU tem 6 GB de alocação. A forma de computação padrão usada para um broker é o processador baseado em Arm. Se essa forma não estiver disponível na região, uma forma com o processador AMD ou Intel será usada.
    • Armazenamento: Especifique o armazenamento de volume em blocos necessário por broker. Planeje o tamanho e o armazenamento do cluster de acordo com os requisitos de negócios para calcular o tamanho do armazenamento de volume em blocos do cluster.

    3. Configuração do cluster

    Uma configuração padrão é fornecida, dependendo do tipo de cluster que você está criando. Você pode usar a configuração padrão ou fornecer uma configuração personalizada. Se você optar por usar uma configuração personalizada, recomendamos que você crie o arquivo de configuração do cluster antes de criar o cluster Kafka. Depois que um cluster do Kafka for criado, você ainda poderá atualizar o arquivo de configuração do cluster, mas com determinadas limitações.

    4. Configurações de segurança (Opcional)

    Forneça o certificado para autenticação TLS Mútuo a fim de usar mTLS como o mecanismo de autenticação para o cluster. Você também pode fornecer o certificado após a criação do cluster. Para usar a autenticação SASL/SCRAM, você pode ignorar esta etapa.

    5. Rede

    Selecione a VCN e a sub-rede que você criou para o cluster. Os brokers do cluster são criados na sub-rede especificada

    6. Revisar e criar

    Revise todos os detalhes fornecidos e faça atualizações, se houver, usando o link Editar. Depois, selecione Criar.

  • Use o comando oci kafka cluster create e os parâmetros necessários para criar um cluster do Kafka:

    oci kafka cluster create 
    --access-subnets '[{"subnets":"<subnet-ocid>"}]' 
    --broker-shape '{"nodeCount":<node-count>, "ocpuCount":<ocpu-count>, "storageSizeInGbs":storage-size}'
    --cluster-config-id <config-ID> 
    --cluster-config-version <config-version> 
    --cluster-type <cluster-type> 
    --compartment-id <compartment-ocid> | -c <compartment-name> 
    --coordination-type <coordination-type> 
    --kafka-version <version>
    --client-certification-bundle <CA-cert-bundle-for-mTLS>
    --display-name <cluster-name>
    --freeform-tags <tags-in-json>
    --auth <auth-type>
    --auth-purpose <auth-purpose>
    --cert-bundle <CA-cert-bundle-path-for-ssl>
    --config-file <config-file-path>
    --connection-timeout <connection-timeout-in-seconds>
    --defined-tags <tags-in-json>

    Opções Obrigatórias

    <ocid-sub-rede>
    O conjunto de OCIDs da sub-rede em que as VNICs do cluster Kafka devem ser criadas.

    Você pode especificar os OCIDs da sub-rede diretamente no prompt de comando no formato JSON.

    Ou você pode criar um arquivo JSON com as informações de sub-rede e especificar o arquivo no comando da CLI. Por exemplo, crie um arquivo subnets.json com os detalhes da sub-rede e informe o arquivo no comando como --access-subnets file://subnets.json.
    [
      {
        "subnets": [
          "ocid1.subnet.oc1.<.exampleuniqueID_1>",
          "ocid1.subnet.oc1.<.exampleuniqueID_2>"
        ]
      }
    ] 
    Ou você pode definir as informações da sub-rede em uma variável de exportação de ambiente e, em seguida, especificá-las no comando da CLI. Por exemplo, crie a variável de exportação SUBNETS e informe a variável no comando como --access-subnets "$SUBNETS"
    export SUBNETS='[{"subnets":["ocid1.subnet.oc1.<.exampleuniqueID_1>", "ocid1.subnet.oc1.<.exampleuniqueID_2>"]}]' 
    <forma do corretor>
    No formato JSON, especifique o número de nós de broker a serem criados, o número de OCPUs por nó e o tamanho do armazenamento para cada nó.
    <config-ID>
    OCID do recurso de configuração do cluster do Kafka.
    <config-versão>
    Versão do recurso de configuração do cluster do Kafka.
    <cluster-type>
    O tipo de cluster a ser criado. Especifique DEVELOPMENT ou PRODUCTION.
    <compartment-ID> | <compartment-name>
    O OCID ou o nome do compartimento no qual o cluster deve ser criado.
    <tipo de coordenação>
    O tipo de coordenação do corretor Kafka. Dependendo da versão do Kafka, especifique ZOOKEEPER ou KRAFT.
    <versão>
    Versão suportada a ser usada para criar o cluster do Kafka.

    Para obter uma lista completa de parâmetros e valores para comandos da CLI, consulte a Referência de Comandos da CLI.

  • Execute a operação CreateKafkaCluster para criar um cluster.

Próximas Etapas

Configure um dos dois tipos de autenticação para acessar o cluster do Kafka usando um aplicativo cliente do Kafka.

Importante

Sem configurar um dos dois tipos de autenticação, você não poderá acessar o cluster do Kafka criado. Para acessar o cluster do Kafka e executar operações de dados, configure um cliente do Kafka.

Depois que o cluster do Kafka for criado e a autenticação configurada, você poderá configurar um cliente do Kafka na tenancy do OCI e executar os comandos do Kafka para criar tópicos e produzir e consumir dados.