ArgoCD Giriş Kurulumu

Jan 12 2023
Ön koşul:- Kümenizde Ingress-Nginx bulunmalıdır! Giriş, çeşitli şekillerde yapılandırılabilir. Birden çok giriş nesnesi ve ana bilgisayar oluşturacağım.
ArgoCD Giriş Kurulumu

Ön koşul:-

Ingress-Nginx'in Kümenizde bulunması gerekir!

Giriş, çeşitli şekillerde yapılandırılabilir. Birden çok giriş nesnesi ve ana bilgisayar oluşturacağım.

A- Dışarıdan erişilebilen argocd uç noktası ( Single sign-on kullanıyorsanız Okta SSO kurulumu için bu gereklidir.)

[ Okta SSO'yu özel bir Argo CD kurulumuyla kurmak mümkündür, burada Okta geri çağırma URL'si halka açık tek uç noktadır ]

B- Dahili olarak erişilebilen argocd uç noktası (özel Kubernetes kümenize ve Pod'larınıza erişmek için dahili bir argocd uç noktası kullanmanız gerekir).

Not: Çoğu durumda, ArgoCD'yi dahili erişim noktası olarak kullanmanız gerekebilir ve bence bunun nedeni, dahili ekibinizin K8s hizmetlerini dağıtmak için ArgoCD kullanmasıdır. Bu benim kullanım durumumda da doğrudur.

Çoklu Giriş Nesneleri ve Ana Bilgisayarlar -

Ingress-Nginx Ingress, Ingress nesnesi başına yalnızca bir protokolü destekler; başka bir seçenek de iki Giriş nesnesi tanımlamaktır. Biri HTTP/HTTPS ve diğeri gRPC için.

HTTP/HTTPS Girişi -

Harici Ingress-Nginx'im (kuruluşunuzun dışından erişilebilir) [* Buna ihtiyacım vardı çünkü SSO için Okta kullanmam gerekiyor [SAML (Dex ile)] ancak bu sizin kullanım durumunuz değilse, onu oluşturmayın . ]

Change-ME [Aşağıdaki Anahtar Değerleri altyapınıza göre değiştirin]

  • ingressClassName, host, Path, tls hosts & tls secretName

> Let's Encrypt sertifika sırlarından aldığım sırrı kullandım ve tls hosts secretName'i değiştirdim.

[Let's Encrypt sertifikası olması gerekmeyen herhangi bir ssl sertifikasını kullanabilirsiniz]

tls:
  - hosts:
    - argocd-ex.example.com #[Change-ME]
    secretName: argocd-tls #[Change-ME] #["My Let's encrypt cert secrets name"]

Okta Yolu ile Harici Giriş-Nginx —

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: argocd-server-ingress-external
  namespace: argocd
  annotations:
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
    nginx.ingress.kubernetes.io/backend-protocol: HTTPS
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "300"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "300"
    nginx.ingress.kubernetes.io/ssl-passthrough: "true"
spec:
  ingressClassName: external-nginx #[Change-ME]
  rules:
  - host: argocd-ex.example.com #[Change-ME] 
    http:
      paths:
      - path: /api/dex/callback  #[SAML (with Dex) SSO Setup path]
        pathType: ImplementationSpecific
        backend:
          service:
            name: argocd-server #[your argoCD server service name]
            port:
              name: http
  tls:
  - hosts:
    - argocd-ex.example.com #[Change-ME]
    secretName: argocd-tls #["My Let's encrypt cert secrets name"] #[Change-ME]

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: argocd-server-ingress-internal
  namespace: argocd
  annotations:
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
    nginx.ingress.kubernetes.io/backend-protocol: HTTPS
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "300"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "300"
    nginx.ingress.kubernetes.io/ssl-passthrough: "true"
spec:
  ingressClassName: internal-nginx #[Change-ME]
  rules:
  - host: argocd-in.example.com #[Change-ME]
    http: 
      paths:
      - path: /
        pathType: ImplementationSpecific
        backend:
          service:
            name: argocd-server #[your argoCD server service name]
            port:
              name: https
  tls:
  - hosts:
    - argocd-in.example.com #[Change-ME]
    secretName: argocd-tls #["My Let's encrypt cert secrets name"] #[Change-ME]

Not - Şifrelenmiş trafiği POD'nuza iletmeyi ve TLS'yi gRPC sunucusunun kendisinde sonlandırmayı tercih ederseniz, giriş notunu ekleyin nginx.ingress.kubernetes.io/backend-protocol: "GRPCS".

başka kullanım- nginx.ingress.kubernetes.io/backend-protocol: “GRPC”

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: argocd-server-grpc-ingress
  namespace: argocd
  annotations:
    nginx.ingress.kubernetes.io/backend-protocol: "GRPCS" #[Note me]
spec:
  ingressClassName: internal-nginx #[Change-ME]
  rules:
  - http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: argocd-server #[your argoCD server service name]
            port:
              name: https
    host: grpc.argocd.example.com
  tls:
  - hosts:
    - grpc.argocd.example.com
    secretName: argocd-tls #["My Let's Encrypt Cert Secrets Name"] #[Change-ME]

kubectl get ing -n argocd

      
                
ArgoCD Ingress Objects

Neden SSO - Çoklu oturum açma, kullanıcıların yalnızca bir kimlik bilgisi seti kullanarak birden fazla ilgili uygulamaya veya sisteme güvenli bir şekilde erişmesine olanak tanıyan bir kimlik doğrulama işlemidir.

Beni tıkla-

ArgoCD Hepsi Bir Arada Kurulum Kılavuzu.

ArgoCD Yüksek Kullanılabilirlik (HA) [Üretime Hazır].

ArgoCD Okta Kurulumu. <<<< — -

ArgoCD Görüntü güncelleyici .

ArgoCD Gevşek Bildirim Kurulumu

ArgoCD Kaynak Kancaları.

Umarım bu makaleyi eğitici ve faydalı bulursunuz.

Benim Tarafımdan Bir Kahve ← — — — Blogdan hoşlanıyorsanız, lütfen bana bir Alkış verin :) ve daha fazla bu tür içerik için beni takip edin.

Alkışlarınız beni bu tür bloglar yazmaya devam etmem için motive ediyor.