Gebruik van Kubernetes API Gateway met Argo Rollouts

Context

StapNaamNaamruimteEenmaal perSoortDoel
2egdefaultClusterGatewayClassCreëer een gateway
2egdefaultClusterGateway
3gateway-controller-roleargo-rolloutsClusterClusterRoleSta Argo Rollouts toe om Http Routes te bewerken
3gateway-admin?ClusterClusterRoleBinding
4argo-rollouts-http-routedefaultApplicatieHTTPRouteCreëer een HTTP-route
5argo-rollouts-stable-servicedefaultApplicatieServiceCreëer een Rollout
5argo-rollouts-canary-servicedefaultApplicatieService
5rollouts-demodefaultApplicatieRollout

Review

export POD_ID="$(k get pod -n argo-rollouts | grep argo-rollouts | awk '{ print $1}')"
k logs -f -n argo-rollouts $POD_ID
Toon me
time="2025-01-30T06:16:01Z" level=info msg="Downloading plugin argoproj-labs/gatewayAPI from: https://github.com/argoproj-labs/rollouts-plugin-trafficrouter-gatewayapi/releases/download/v0.4.0/gatewayapi-plugin-linux-amd64"
time="2025-01-30T06:16:07Z" level=info msg="Download complete, it took 6.021917129s"

De logs van de Argo Rollouts Controller pod moeten het downloaden van de plugin tonen. Merk op dat Argo Rollouts is geconfigureerd om deze plugin te downloaden, installeren en gebruiken met behulp van een ConfigMap met de naam argo-rollouts-config. Merk op dat je de Argo Rollouts deployment moet herstarten om deze ConfigMap te gebruiken; deze herstart wordt uitgevoerd door Ansible als onderdeel van het eerste deel van deze handleiding1.

Installeer en beheer Argo CD met Ansible: Zet een Kubernetes-cluster op, installeer Argo CD en beheer beide met behulp van de Ansible-rollen van het C2 Platform voor Linux en Kubernetes.

Aanvullende informatie


  1. Je kunt deze herstart handmatig uitvoeren met het volgende commando:

    kubectl rollout restart deployment -n argo-rollouts argo-rollouts
    

    We kunnen Ansible de herstart laten uitvoeren met behulp van de kubernetes_resources variabele, die is geconfigureerd in het groepsvariabelen bestand:

     group_vars/argocd/argo_rollouts_demo_envoy.yml

    23    - name: Restart Argo Rollouts
    24      type: shell
    25      cmd: |
    26        kubectl rollout restart deployment -n {{ c2_argocd_rollouts_namespace }} argo-rollouts
    27        touch /etc/argo-rollouts-restart        
    
     ↩︎