Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Update runtime-architecture.md#692

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
NimRegev merged 1 commit intomasterfromarch-fixes
May 10, 2023
Merged
Changes fromall commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 17 additions & 32 deletions_docs/installation/runtime-architecture.md
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -66,34 +66,26 @@ caption="Codefresh GitOps platform architecture"
max-width="100%"
%}

{::nomarkdown}
<br>
{:/}


### GitOps Control Plane
The Codefresh Control Plane is the SaaS component in the platform. External to the enterprise firewall, it does not have direct communication with the Codefresh Runtime, Codefresh Clients, or the customer's organizational systems. The Codefresh Runtime and the Codefresh Clients communicate with the Codefresh Control Plane to retrieve the required information.


{::nomarkdown}
<br>
{:/}

### GitOps Runtime
The GitOps Runtime is installed on a Kubernetes cluster, and houses the enterprise distribution of the Codefresh Application Proxy and the Argo Project.
Depending on the type of GitOps installation, the GitOps Runtime is installed either in the Codefresh platform (Hosted GitOps), or in the customer environment (Hybrid GitOps). Read more in [Codefresh GitOps Runtime architecture](#codefresh-gitops-runtime-architecture).


{::nomarkdown}
<br>
{:/}

### GitOps Clients

GitOps Clients include the UI and the GitOps CLI.
The UI provides a unified, enterprise-wide view of deployments (runtimes and clusters), and CI/CD operations (Delivery Pipelines, workflows, and deployments) in the same location.
The Codefresh CLI includes commands to install hybrid runtimes, add external clusters, and manage runtimes and clusters.

### GitOps Runtime architecture
## GitOps Runtime architecture
The sections that follow show detailed views of the GitOps Runtime architecture for the different installation options, and descriptions of the GitOps Runtime components.

* [Hosted GitOps runtime architecture](#hosted-gitops-runtime-architecture)
Expand All@@ -109,8 +101,9 @@ The sections that follow show detailed views of the GitOps Runtime architecture
* [Tunnel Server](#tunnel-server)
* [Tunnel Client](#tunnel-client)

<br>

#### Hosted GitOps runtime architecture
### Hosted GitOps runtime architecture
In the hosted environment, the Codefresh Runtime is installed on a K8s cluster managed by Codefresh.

{% include
Expand All@@ -123,7 +116,7 @@ In the hosted environment, the Codefresh Runtime is installed on a K8s cluster m
max-width="100%"
%}

#### Tunnel-based Hybrid GitOps runtime architecture
### Tunnel-based Hybrid GitOps runtime architecture
Tunnel-based Hybrid GitOps runtimes use tunneling instead of ingress controllers to control communication between the GitOps Runtime in the customer cluster and the Codefresh GitOps Platform. Tunnel-based runtimes are optimal when the cluster with the GitOps Runtime is not exposed to the internet.

{% include
Expand All@@ -137,7 +130,7 @@ Tunnel-based Hybrid GitOps runtimes use tunneling instead of ingress controllers
%}


#### Ingress-based Hybrid GitOps runtime architecture
### Ingress-based Hybrid GitOps runtime architecture
Ingress-based runtimes use ingress controllers to control communication between the GitOps Runtime in the customer cluster and the Codefresh GitOps Platform. Ingress-based runtimes are optimal when the cluster with the GitOps Runtime is exposed to the internet.


Expand All@@ -153,7 +146,7 @@ Ingress-based runtimes use ingress controllers to control communication between
%}


#### Application Proxy
### Application Proxy
The GitOps Application Proxy (App-Proxy) functions as the Codefresh agent, and is deployed as a service in the GitOps Runtime.

For tunnel-based Hybrid GitOps Runtimes, the Tunnel Client forwards the incoming traffic from the Tunnel Server using the Request Routing Service to the GitOps App-Proxy.
Expand All@@ -167,11 +160,9 @@ The GitOps App-Proxy:
* Implements commits for GitOps-controlled entities, such as Delivery Pipelines and other CI resources
* Implements state-change operations for non-GitOps controlled entities, such as terminating Argo Workflows

{::nomarkdown}
<br>
{:/}

#### Argo Project

### Argo Project

The Argo Project includes:
* Argo CD for declarative continuous deployment
Expand All@@ -183,19 +174,17 @@ The Argo Project includes:
To maintain that high standard, we add several weeks of testing and bug fixes to new versions of Argo before making them available within Codefresh.
Typically, new versions of Argo are available within 30 days of release in Argo.

{::nomarkdown}
<br><br>
{:/}

#### Request Routing Service

### Request Routing Service
The Request Routing Service is installed on the same cluster as the GitOps Runtime in the customer environment.
It receives requests from the the Tunnel Client (tunnel-based) or the ingress controller (ingress-based), and forwards the request URLs to the Application Proxy, and webhooks directly to the Event Sources.

>Important:
The Request Routing Service is available from runtime version 0.0.543 and higher.
Older runtime versions are not affected as there is complete backward compatibility, and the ingress controller continues to route incoming requests.

#### Tunnel Server
### Tunnel Server
Applies only to _tunnel-based_ Hybrid GitOps Runtimes.
The Codefresh Tunnel Server is installed in the Codefresh platform. It communicates with the enterprise cluster located behind a NAT or firewall.

Expand All@@ -204,11 +193,9 @@ The Tunnel Server:
* Manages the lifecycle of the Tunnel Client.
* Authenticates requests from the Tunnel Client to open tunneling connections.

{::nomarkdown}
<br>
{:/}

#### Tunnel Client

### Tunnel Client
Applies only to _tunnel-based_ Hybrid GitOps Runtimes.

Installed on the same cluster as the Hybrid GitOps Runtime, the Tunnel Client establishes the tunneling connection to the Tunnel Server via the WebSocket Secure (WSS) protocol.
Expand All@@ -218,12 +205,9 @@ The Tunnel Client:
* Initiates the connection with the Tunnel Server.
* Forwards the incoming traffic from the Tunnel Server through the Request Routing Service to App-Proxy, and other services.

{::nomarkdown}
<br>
{:/}


#### Customer environment
### Customer environment
The customer environment that communicates with the GitOps Runtime and Codefresh, generally includes:
* Ingress controller for ingress-based Hybrid runtimes
The ingress controller is configured on the same Kubernetes cluster as the GitOps Runtime, and implements the ingress traffic rules for the GitOps Runtime.
Expand All@@ -237,7 +221,8 @@ The customer environment that communicates with the GitOps Runtime and Codefresh
Organizational Systems include the customer's tracking, monitoring, notification, container registries, Git providers, and other systems. They can be entirely on-premises or in the public cloud.
Either the ingress controller (ingress hybrid environments), or the Tunnel Client (tunnel-based hybrid environments), forwards incoming events to the GitOps Application Proxy.

## Related articles

## Related articles
[Codefresh pricing](https://codefresh.io/pricing/){:target="\_blank"}
[Codefresh features](https://codefresh.io/features/){:target="\_blank"}

Expand Down

[8]ページ先頭

©2009-2025 Movatter.jp