diff --git a/content/en/_index.md b/content/en/_index.md index bde976ed..b5d2290a 100755 --- a/content/en/_index.md +++ b/content/en/_index.md @@ -34,4 +34,4 @@ Modern software delivery requires sophisticated control of delivery speed and tr "deployment/kubernetes/overview.md" >}}). * **Integration with your existing SDLC:** You build and publish your containers where and how you want, whether you use Docker Hub or a private registry that is only accessible in your network. -{{< include "cdaas-explained-how.md" >}} +{{< include "cdaas-explained-how-k8s.md" >}} diff --git a/content/en/architecture.md b/content/en/architecture.md index 960d7747..dd55a821 100644 --- a/content/en/architecture.md +++ b/content/en/architecture.md @@ -6,23 +6,9 @@ description: > Learn how Armory Continuous Deployment-as-a-Service works and how its key components orchestrate continuous deployment to your Kubernetes clusters. --- -{{< include "cdaas-explained-how.md" >}} -## Key components - -### CD-as-a-Service control plane - -The control plane is the set of services comprising the CD-as-a-Service platform. This control plane utilizes Remote Network Agents to talk to your networked resources such as Kubernetes APIs, Jenkins, and Prometheus, as well as external services like New Relic and Datadog. - -### Remote Network Agent (RNA) - -The RNA is a logicless network relay that enables CD-as-a-Service to integrate with privately networked resources such as Jenkins, Prometheus, and Kubernetes clusters. For Kubernetes, the CD-as-a-Service control plane uses an RNA's ServiceAccount credentials to automatically register the cluster the RNA is installed in as a deployment target. Once you install the RNA in your cluster, you don't need to update it beyond security updates since deployment logic is encapsulated in CD-as-a-Service's centralized control plane. -See the [Remote Network Agent]({{< ref "remote-network-agent/overview.md" >}}) overview for details. - -### Agent Hub - -_Agent Hub_ routes deployment commands to RNAs and caches data received from them. Agent Hub does not require direct network access to the RNAs since they connect to Agent Hub through an encrypted, long-lived gRPC HTTP2 connection. Agent Hub uses this connection to send deployment commands to the RNA for execution. +## Key components ### Command Line Interface (CLI) @@ -41,8 +27,28 @@ _Cloud Console_ is the browser-based UI for CD-as-a-Service. You can visually mo - Creating secrets - Configuring RBAC - Inviting users - - Monitoring your Remote Network Agents + - Monitoring your Kubernetes Remote Network Agents + + + +## Kubernetes components + +{{< include "cdaas-explained-how-k8s.md" >}} + +### CD-as-a-Service control plane + +The control plane is the set of services comprising the CD-as-a-Service platform. This control plane utilizes Remote Network Agents to talk to your networked resources such as Kubernetes APIs, Jenkins, and Prometheus, as well as external services like New Relic and Datadog. + +### Remote Network Agent (RNA) + +The RNA is a logicless network relay that enables CD-as-a-Service to integrate with privately networked resources such as Jenkins, Prometheus, and Kubernetes clusters. For Kubernetes, the CD-as-a-Service control plane uses an RNA's ServiceAccount credentials to automatically register the cluster the RNA is installed in as a deployment target. Once you install the RNA in your cluster, you don't need to update it beyond security updates since deployment logic is encapsulated in CD-as-a-Service's centralized control plane. + +See the [Remote Network Agent]({{< ref "remote-network-agent/overview.md" >}}) overview for details. + +### Agent Hub + +_Agent Hub_ routes deployment commands to RNAs and caches data received from them. Agent Hub does not require direct network access to the RNAs since they connect to Agent Hub through an encrypted, long-lived gRPC HTTP2 connection. Agent Hub uses this connection to send deployment commands to the RNA for execution. ## Networking -{{< include "req-networking.md" >}} +{{< include "req-networking-k8s.md" >}} diff --git a/content/en/includes/cdaas-explained-how.md b/content/en/includes/cdaas-explained-how-k8s.md similarity index 91% rename from content/en/includes/cdaas-explained-how.md rename to content/en/includes/cdaas-explained-how-k8s.md index 47289671..4be4bef9 100644 --- a/content/en/includes/cdaas-explained-how.md +++ b/content/en/includes/cdaas-explained-how-k8s.md @@ -1,5 +1,3 @@ -## How CD-as-a-Service works - CD-as-a-Service is a centralized control plane that utilizes flexible promotion constraints to safely deploy software and/or config changes across multiple clusters, environments, and/or regions. CD-as-a-Service uses secure, logicless Remote Network Agents to access privately networked resources and Kubernetes clusters via ServiceAccounts. You do not need to upgrade agents for new features since business logic is encapsulated in the CD-as-as-Service control plane. @@ -8,7 +6,7 @@ Remote Network Agents connect to CD-as-a-Service to establish gRPC via HTTP/2 co {{< figure src="/media/how-cdaas-works.png" alt="How CD-as-a-Service Works" height="75%" width="75%" >}} -1. You render your Kubernets manifests using the tools you want. You build and publish your containers where and how you want, from DockerHub to a private registry on your network. +1. You render your Kubernetes manifests using the tools you want. You build and publish your containers where and how you want, from DockerHub to a private registry on your network. 2. You create a CD-as-a-Service deployment config file in which you define your deployment: canary and/or blue/green strategy; traffic shaping; deployment constraints such as manual judgments; external automation using webhooks; and retrospective analysis. You include the path to your Kubernetes manifests in the deployment config file. CD-as-a-Service can deploy any Kubernetes object that you define in your Kubernetes manifest. 3. You start your deployment by sending the deployment config file to CD-as-a-Service using the [Armory CLI]({{< ref "cli" >}}), which you can run locally or in a Docker container. You can trigger deployments automatically from any CI system. If you're using GitHub, Armory provides a [GitHub Action]({{< ref "integrations/ci-systems/gh-action" >}}) for triggering deployments from your GitHub workflow. diff --git a/content/en/includes/req-networking.md b/content/en/includes/req-networking-k8s.md similarity index 100% rename from content/en/includes/req-networking.md rename to content/en/includes/req-networking-k8s.md diff --git a/content/en/integrations/plugin-spinnaker/index.md b/content/en/integrations/plugin-spinnaker/index.md index a20fcad3..21f07d29 100644 --- a/content/en/integrations/plugin-spinnaker/index.md +++ b/content/en/integrations/plugin-spinnaker/index.md @@ -37,7 +37,7 @@ The Armory Continuous Deployment-as-a-Service Plugin for Spinnakerâ„¢ adds new s Your Spinnaker instance and the cluster(s) where you install the CD-as-a-Service Remote Network Agent(s) need specific ports open. -{{< include "req-networking.md" >}} +{{< include "req-networking-k8s.md" >}} Additionally, your Armory CD instance needs access to GitHub to download the plugin during installation.