GA particular: Apigee híbrida usando o cert-manager personalizadoEste recurso é oferecido como um GA particular para a Apigee híbrida versão 1.13. |
---|
Como usar o cert-manager personalizado
Esse recurso oferece a opção de instalar um Gerenciador de certificados modificado ou personalizado para a Apigee com uma configuração modificada relacionada ao RBAC com permissões restritivas.
Procedimento
- Instale os CRDs usando
kubectl
com os seguintes comandos:export CERT_MANAGER_VERION=v1.14.5
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/${CERT_MANAGER_VERION}/cert-manager.crds.yaml
- Instale o componente do Cert Manager usando o gráfico do Helm
helm install CERT_MANAGER_RELESE_NAME apigee-cert-manager/ \ --namespace NAMESPACE
Depois, quando a nova versão do gráfico estiver disponível, você poderá fazer upgrade com
helm upgrade
:helm upgrade CERT_MANAGER_RELESE_NAME apigee-cert-manager/ \ --namespace NAMESPACE
Infraestrutura como código (overrides.yaml)
O gráfico Helm oferece suporte a substituições conforme necessário, permitindo que você use um arquivo de substituições conforme necessário durante o processo de instalação ou upgrade. Para evitar confusão, recomendamos um nome de arquivo como cert-manager-overrides.yaml
.
Consulte a documentação do cert-manager para conferir todas as configurações de substituição de cert-manager compatíveis.
Nos exemplos a seguir, mostramos como realizar algumas configurações comuns do gerenciador de certificados na Apigee híbrida.
Substituir imagens
Confira a seguir um exemplo de substituição de imagens com imagepullsecrets
se você precisar hospedar a imagem de forma privada.
# cert-manager-overrides.yaml global: # Reference to one or more secrets to be used when pulling images # ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ # # For example: # imagePullSecrets: # - name: "image-pull-secret" imagePullSecrets: [] image: # Override the image tag to deploy by setting this variable. # If no value is set, the chart's appVersion will be used. repository: quay.io/jetstack/cert-manager-controller webhook: image: # without a tag repository: quay.io/jetstack/cert-manager-webhook cainjector: image: # without a tag repository: quay.io/jetstack/cert-manager-cainjector
NodeSelector e afinidade de nó
Na instalação da Apigee híbrida, é necessário usar nós separados para pods do Cassandra e outros pods. Se quiser executar o cert-manager no pool de nós não relacionado ao Cassandra, use a afinidade do nó:
# A Kubernetes Affinity, if required; see https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#affinity-v1-core # # For example: # affinity: # nodeAffinity: # requiredDuringSchedulingIgnoredDuringExecution: # nodeSelectorTerms: # - matchExpressions: # - key: foo.bar.com/role # operator: In # values: # - master affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: KEY operator: In values: - value for the non-C* node pool webhook: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: KEY operator: In values: - value for the non-C* node pool cainjector: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: KEY operator: In values: - value for the non-C* node pool Tolerations: Similarly, one can provide tolerations as below # A list of Kubernetes Tolerations, if required; see https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#toleration-v1-core # # For example: # tolerations: # - key: foo.bar.com/role # operator: Equal # value: master # effect: NoSchedule tolerations: [] webhook: tolerations: [] cainjector: tolerations: []