14.5. Création d’un domaine personnalisé Ingress Controller


  1. Créer et configurer une ressource de certificat pour fournir un certificat pour le domaine personnalisé Ingress Controller:

    Note

    L’exemple suivant utilise un certificat de domaine unique. Les certificats SAN et wildcard sont également pris en charge.

    $ cat << EOF | oc apply -f -
    apiVersion: cert-manager.io/v1
    kind: Certificate
    metadata:
      name: custom-domain-ingress-cert
      namespace: openshift-ingress
    spec:
      secretName: custom-domain-ingress-cert-tls
      issuerRef:
         name: letsencrypt-production
         kind: ClusterIssuer
      commonName: "${DOMAIN}"
      dnsNames:
      - "${DOMAIN}"
    EOF
    Copy to Clipboard Toggle word wrap
  2. B) Vérifier que le certificat a été délivré:

    Note

    Il faut quelques minutes pour que ce certificat soit délivré par Let's Encrypt. Lorsque cela prend plus de 5 minutes, exécutez oc -n openshift-ingress décrit certificate.cert-manager.io/custom-domain-ingress-cert pour voir tous les problèmes signalés par cert-manager.

    $ oc -n openshift-ingress get certificate.cert-manager.io/custom-domain-ingress-cert
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    NAME                         READY   SECRET                           AGE
    custom-domain-ingress-cert   True    custom-domain-ingress-cert-tls   9m53s
    Copy to Clipboard Toggle word wrap

  3. Créer une nouvelle ressource IngressController:

    $ cat << EOF | oc apply -f -
    apiVersion: operator.openshift.io/v1
    kind: IngressController
    metadata:
      name: custom-domain-ingress
      namespace: openshift-ingress-operator
    spec:
      domain: ${DOMAIN}
      defaultCertificate:
        name: custom-domain-ingress-cert-tls
      endpointPublishingStrategy:
        loadBalancer:
          dnsManagementPolicy: Unmanaged
          providerParameters:
            aws:
              type: NLB
            type: AWS
          scope: External
        type: LoadBalancerService
    EOF
    Copy to Clipboard Toggle word wrap
    Avertissement

    Cet exemple IngressController créera un balanceur de charge réseau accessible à Internet (NLB) dans votre compte AWS. Afin de fournir une NLB interne, définissez le paramètre .spec.endpointPublishingStrategy.loadBalancer.scope sur Interne avant de créer la ressource IngressController.

  4. Assurez-vous que votre domaine personnalisé IngressController a créé avec succès un équilibreur de charge externe:

    $ oc -n openshift-ingress get service/router-custom-domain-ingress
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    NAME                           TYPE           CLUSTER-IP      EXTERNAL-IP                                                                     PORT(S)                      AGE
    router-custom-domain-ingress   LoadBalancer   172.30.174.34   a309962c3bd6e42c08cadb9202eca683-1f5bbb64a1f1ec65.elb.us-east-1.amazonaws.com   80:31342/TCP,443:31821/TCP   7m28s
    Copy to Clipboard Toggle word wrap

  5. Créez un document avec les modifications DNS nécessaires pour activer la résolution DNS pour votre domaine personnalisé Ingress Controller:

    $ INGRESS=$(oc -n openshift-ingress get service/router-custom-domain-ingress -ojsonpath="{.status.loadBalancer.ingress[0].hostname}")
    $ cat << EOF > "${SCRATCH}/create-cname.json"
    {
      "Comment":"Add CNAME to custom domain endpoint",
      "Changes":[{
          "Action":"CREATE",
          "ResourceRecordSet":{
            "Name": "*.${DOMAIN}",
          "Type":"CNAME",
          "TTL":30,
          "ResourceRecords":[{
            "Value": "${INGRESS}"
          }]
        }
      }]
    }
    EOF
    Copy to Clipboard Toggle word wrap
  6. Envoyez vos modifications à Amazon Route 53 pour propagation:

    $ aws route53 change-resource-record-sets \
      --hosted-zone-id ${ZONE_ID} \
      --change-batch file://${SCRATCH}/create-cname.json
    Copy to Clipboard Toggle word wrap
    Note

    Bien que l’enregistrement wildcard CNAME évite la nécessité de créer un nouvel enregistrement pour chaque nouvelle application que vous déployez à l’aide du contrôleur d’Ingress de domaine personnalisé, le certificat que chacune de ces applications utilise n’est pas un certificat générique.

Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat