mirror of
https://github.com/rancher/rancher-docs.git
synced 2026-11-09 02:09:23 +00:00
Last fixes for HA and airgap (#96)
This commit is contained in:
1 parent
dc4ac5f2fc
commit
4e902c8819
10 files changed
+89
-81
No files matched your search
@@ -8,15 +8,17 @@ This section contains instructions for installing Rancher in development and pro
|
||||
|
||||
## Objectives
|
||||
|
||||
1. Install Rancher Server. We have instructions for three use cases. Pick the right one for you:
|
||||
1. Install Rancher Server. We have instructions for these use cases. Pick the right one for you:
|
||||
|
||||
a. [Single-Node Rancher Server Installation]({{< baseurl >}}/rancher/v2.x/en/installation/server-installation/single-node-install): In this simple install scenario, you install Rancher on a single Linux host.
|
||||
- [Single Node Installation]({{< baseurl >}}/rancher/v2.x/en/installation/server-installation/single-node-install): In this simple install scenario, you install Rancher on a single Linux host.
|
||||
|
||||
b. [High-Availablity Rancher Server Installation]({{< baseurl >}}/rancher/v2.x/en/installation/server-installation/ha-server-install/): This install scenario creates a new Kubernetes cluster dedicated to running Rancher Server in a high-availabilty (HA) configuration.
|
||||
- [Single Node Install With External Loadbalancer]({{< baseurl >}}/rancher/v2.x/en/installation/server-installation/single-node-install-external-lb): In this scenario, you install Rancher on a single Linux host and access it using an external loadbalancer/proxy.
|
||||
|
||||
c. [Air Gap Installation]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-installation/): We also have instructions for a more specialized use case where you install Rancher Server in an environment without an Internet connection.
|
||||
- [High Availablity Installation]({{< baseurl >}}/rancher/v2.x/en/installation/server-installation/ha-server-install/): This install scenario creates a new Kubernetes cluster dedicated to running Rancher Server in a high-availabilty (HA) configuration.
|
||||
|
||||
2. **Optional:** Configure an external Load Balancer. A load balancer acts like a traffic cop for connections incoming to your Kubernetes cluster. You options are:
|
||||
- [Air Gap Installation]({{< baseurl >}}/rancher/v2.x/en/installation/air-gap-installation/): We also have instructions for a more specialized use case where you install Rancher Server in an environment without an Internet connection.
|
||||
|
||||
<!-- 2. **Optional:** Configure an external Load Balancer. A load balancer acts like a traffic cop for connections incoming to your Kubernetes cluster. You options are:
|
||||
|
||||
a. [Amazon Application Load Balancer]({{< baseurl >}}/rancher/v2.x/en/installation/load-balancing-config/config-amazon-alb/)
|
||||
|
||||
@@ -24,4 +26,4 @@ This section contains instructions for installing Rancher in development and pro
|
||||
|
||||
c. [Nginx]({{< baseurl >}}/rancher/v2.x/en/installation/load-balancing-config/config-Nginx/)
|
||||
|
||||
3. Configure SSL communication. Set up SSL by installing certificates on your Kubernetes nodes. You have a variety of options for [SSL Configuration]({{< baseurl >}}/rancher/v2.x/en/installation/ssl-config/).
|
||||
3. Configure SSL communication. Set up SSL by installing certificates on your Kubernetes nodes. You have a variety of options for [SSL Configuration]({{< baseurl >}}/rancher/v2.x/en/installation/ssl-config/). -->
|
||||
@@ -5,4 +5,72 @@ weight: 345
|
||||
|
||||
# Air Gap Installation
|
||||
|
||||
If you want to set up Rancher in a network that's disconnected from the Internet (i.e. an air gap installation), you can do so using a private registry.
|
||||
Rancher supports installing from a private registry. In every [release](https://github.com/rancher/rancher/releases), we provide you with the needed system-images and scripts to mirror those images to your own registry. The system-images are used when nodes are added to a cluster, or when you enable features like pipelines or logging.
|
||||
|
||||
>**Prerequisite:** It is assumed you either have your own private registry or other means of distributing docker images to your machine. If you need help with creating a private registry, please refer to the [Docker documentation for private registries](https://docs.docker.com/registry/).
|
||||
|
||||
|
||||
>**Note:** In Rancher v2.0.0, registries with authentication are not supported for installing from a private registry. The system-images can only be pulled from a registry without authentication enabled. This limitation only applies to system-images.
|
||||
|
||||
## Release files
|
||||
|
||||
* **rancher-images.txt**: Contains all images needed for that release.
|
||||
* **rancher-save-images.sh**: This script will pull all needed images from DockerHub, and save all of the images as a compressed file called `rancher-images.tar.gz`. This file can be transferred to your on-premise host that can access your private registry.
|
||||
* **rancher-load-images.sh**: This script will load images from rancher-images.tar.gz and push them to your private registry. You have to supply the hostname of your private registry as first argument to the script.<br/>`rancher-load-images.sh registry.yourdomain.com:5000`
|
||||
|
||||
### Making the Rancher images available
|
||||
|
||||
We will cover two scenarios:
|
||||
|
||||
* **Scenario 1**: You have one host that can access DockerHub to pull and save the images, and a separate host that access your private registry to push the images.
|
||||
* **Scenario 2**: You have one host that can access both DockerHub and your private registry.
|
||||
|
||||
#### Scenario 1: One host that can access DockerHub, separate host that can access private registry
|
||||
|
||||

|
||||
|
||||
1. Browse to the release page of your version (i.e. `https://github.com/rancher/rancher/releases/tag/v2.0.0`) and download `rancher-save-images.sh` and `rancher-load-images.sh`
|
||||
|
||||
2. Transfer and run `rancher-save-images.sh` on the host the can access DockerHub. This will require at least 20GB of disk space.
|
||||
|
||||
3. Transfer the output file from step 2 (`rancher-images.tar.gz`) to the host that can access the private registry.
|
||||
|
||||
4. Transfer and run `rancher-load-images.sh` on the host that can access the private registry. It should be run in the same directory as `rancher-images.tar.gz`.
|
||||
|
||||
#### Scenario 2: You have one host that can access both DockerHub and your private registry.
|
||||
|
||||

|
||||
|
||||
1. Browse to the release page of your version (i.e. `https://github.com/rancher/rancher/releases/tag/v2.0.0`) and download `rancher-images.txt`
|
||||
|
||||
2. Pull all the images present in `rancher-images.txt`, re-tag each image with the location of your registry, and push the image to the registry. This will require at least 20GB of disk space. See an example script below:
|
||||
|
||||
```
|
||||
#!/bin/sh
|
||||
IMAGES=`curl -s -L https://github.com/rancher/rancher/releases/download/v2.0.0/rancher-images.txt`
|
||||
for IMAGE in $IMAGES; do
|
||||
until docker inspect $IMAGE > /dev/null 2>&1; do
|
||||
docker pull $IMAGE
|
||||
done
|
||||
docker tag $IMAGE registry.yourdomain.com:5000/$IMAGE
|
||||
docker push registry.yourdomain.com:5000/$IMAGE
|
||||
done
|
||||
```
|
||||
|
||||
### Configuring Rancher to use the private registry
|
||||
|
||||
Rancher needs to be configured to use the private registry as source for the needed images.
|
||||
|
||||
1. Go into the Settings view.
|
||||

|
||||
2. Look for the setting called `system-default-registry` and choose **Edit**.
|
||||

|
||||
3. Change the value to your registry, i.e. `registry.yourdomain.com:5000`. Do not prefix the registry with `http://` or `https://`
|
||||

|
||||
|
||||
|
||||
>**Note:** If you want to configure the setting when starting the rancher/rancher container, you can use the environment variable `CATTLE_SYSTEM_DEFAULT_REGISTRY`. Example:
|
||||
```
|
||||
#!/bin/sh
|
||||
docker run -d -p 80:80 -p 443:443 -e CATTLE_SYSTEM_DEFAULT_REGISTRY=registry.yourdomain.com:5000 registry.yourdomain.com:5000/rancher/rancher:v2.0.0
|
||||
```
|
||||
-68
@@ -1,68 +0,0 @@
|
||||
---
|
||||
title: Installing From a Private Registry
|
||||
weight: 350
|
||||
---
|
||||
# Installing From a Private Registry
|
||||
|
||||
Rancher supports installing from a private registry. In every [release](https://github.com/rancher/rancher/releases), we provide you with the needed system-images and scripts to mirror those images to your own registry. The system-images are used when nodes are added to a cluster, or when you enable features like pipelines or logging.
|
||||
|
||||
>**Prerequisite:** It is assumed you either have your own private registry or other means of distributing docker images to your machine. If you need help with creating a private registry, please refer to the [Docker documentation for private registries](https://docs.docker.com/registry/).
|
||||
|
||||
|
||||
>**Note:** In Rancher v2.0.0, registries with authentication are not supported for installing from a private registry. The system-images can only be pulled from a registry without authentication enabled. This limitation only applies to system-images. See [Configure Registry for Workloads](#dummy) how to configure private registries for your workloads.
|
||||
|
||||
## Release files
|
||||
|
||||
* **rancher-images.txt**: Contains all images needed for that release.
|
||||
* **rancher-save-images.sh**: This script will pull all needed images from DockerHub, and save all of the images as a compressed file called `rancher-images.tar.gz`. This file can be transferred to your on-premise host that can access your private registry.
|
||||
* **rancher-load-images.sh**: This script will load images from rancher-images.tar.gz and push them to your private registry. You have to supply the hostname of your private registry as first argument to the script.<br/>`rancher-load-images.sh registry.yourdomain.com:5000`
|
||||
|
||||
### Making the Rancher images available
|
||||
|
||||
We will cover two scenarios:
|
||||
|
||||
* **Scenario 1**: You have one host that can access DockerHub to pull and save the images, and a separate host that access your private registry to push the images.
|
||||
* **Scenario 2**: You have one host that can access both DockerHub and your private registry.
|
||||
|
||||
#### Scenario 1: One host that can access DockerHub, separate host that can access private registry
|
||||
|
||||
1. Browse to the release page of your version (i.e. `https://github.com/rancher/rancher/releases/tag/v2.0.0`) and download `rancher-save-images.sh` and `rancher-load-images.sh`
|
||||
|
||||
2. Transfer and run `rancher-save-images.sh` on the host the can access DockerHub. This will require at least 20GB of disk space.
|
||||
|
||||
3. Transfer the output file from step 2 (`rancher-images.tar.gz`) to the host that can access the private registry.
|
||||
|
||||
4. Transfer and run `rancher-load-images.sh` on the host that can access the private registry. It should be run in the same directory as `rancher-images.tar.gz`.
|
||||
|
||||
#### Scenario 2: You have one host that can access both DockerHub and your private registry.
|
||||
|
||||
1. Browse to the release page of your version (i.e. `https://github.com/rancher/rancher/releases/tag/v2.0.0`) and download `rancher-images.txt`
|
||||
|
||||
2. Pull all the images present in `rancher-images.txt`, re-tag each image with the location of your registry, and push the image to the registry. This will require at least 20GB of disk space. See an example script below:
|
||||
|
||||
```
|
||||
#!/bin/sh
|
||||
IMAGES=`curl -s -L https://github.com/rancher/rancher/releases/download/v2.0.0/rancher-images.txt`
|
||||
for IMAGE in $IMAGES; do
|
||||
until docker inspect $IMAGE > /dev/null 2>&1; do
|
||||
docker pull $IMAGE
|
||||
done
|
||||
docker tag $IMAGE registry.yourdomain.com:5000/$IMAGE
|
||||
docker push registry.yourdomain.com:5000/$IMAGE
|
||||
done
|
||||
```
|
||||
|
||||
### Configuring Rancher to use the private registry
|
||||
|
||||
Rancher needs to be configured to use the private registry as source for the needed images.
|
||||
|
||||
1. Go into the Settings view.
|
||||
2. Look for the setting called `system-default-registry` and choose **Edit**.
|
||||
3. Change the value to your registry, i.e. `registry.yourdomain.com:5000`. Do not prefix the registry with `http://` or `https://`
|
||||
|
||||
If you want to configure the setting when starting the rancher/rancher container, you can use the environment variable `CATTLE_SYSTEM_DEFAULT_REGISTRY`. Example:
|
||||
|
||||
```
|
||||
#!/bin/sh
|
||||
docker run -d -p 80:80 -p 443:443 -e CATTLE_SYSTEM_DEFAULT_REGISTRY=registry.yourdomain.com:5000 registry.yourdomain.com:5000/rancher/rancher:v2.0.0
|
||||
```
|
||||
@@ -1,6 +1,7 @@
|
||||
---
|
||||
title: Load Balancing
|
||||
weight: 300
|
||||
draft: true
|
||||
---
|
||||
|
||||
# Load Balancer Configuration
|
||||
|
||||
+7
-6
@@ -83,7 +83,7 @@ rke version v<N.N.N>
|
||||
RKE uses a `.yml` config file to install and configure your Kubernetes cluster. There are 2 templates to choose from, depending on the SSL certificate you want to use.
|
||||
|
||||
- [Template for using Self Signed Certificate (3-node-certificate.yml)](https://raw.githubusercontent.com/rancher/rancher/master/rke-templates/3-node-certificate.yml)
|
||||
- [Template for using Certificate Signed By A Recognized Certificate Authority (3-node-certificate-recognizedca.yml)](https://raw.githubusercontent.com/rancher/rancher/master/rke-templates/3-node-certificate.yml)
|
||||
- [Template for using Certificate Signed By A Recognized Certificate Authority (3-node-certificate-recognizedca.yml)](https://raw.githubusercontent.com/rancher/rancher/master/rke-templates/3-node-certificate-recognizedca.yml)
|
||||
|
||||
## Configure nodes section
|
||||
|
||||
@@ -137,7 +137,7 @@ In the `kind: Secret` with `name: cattle-keys-ingress`:
|
||||
* Replace `<BASE64_CRT>` with the base64 encoded string of the Certificate file (usually called `cert.pem` or `domain.crt`)
|
||||
* Replace `<BASE64_KEY>` with the base64 encoded string of the Certificate Key file (usually called `key.pem` or `domain.key`)
|
||||
|
||||
See the example below:
|
||||
After replacing the values, the file should look like the example below (the base64 encoded strings should be different):
|
||||
|
||||
```
|
||||
---
|
||||
@@ -156,7 +156,7 @@ In the `kind: Secret` with `name: cattle-keys-server`:
|
||||
|
||||
* Replace `<BASE64_CA>` with the base64 encoded string of the CA Certificate file (usually called `ca.pem` or `ca.crt`)
|
||||
|
||||
See the example below:
|
||||
After replacing the value, the file should look like the example below (the base64 encoded string should be different):
|
||||
|
||||
```
|
||||
---
|
||||
@@ -179,7 +179,7 @@ In the `kind: Secret` with `name: cattle-keys-ingress`:
|
||||
* Replace `<BASE64_CRT>` with the base64 encoded string of the Certificate file (usually called `cert.pem` or `domain.crt`)
|
||||
* Replace `<BASE64_KEY>` with the base64 encoded string of the Certificate Key file (usually called `key.pem` or `domain.key`)
|
||||
|
||||
See the example below:
|
||||
After replacing the values, the file should look like the example below (the base64 encoded strings should be different):
|
||||
|
||||
```
|
||||
---
|
||||
@@ -203,7 +203,7 @@ In the `kind: Ingress` with `name: cattle-ingress-http`:
|
||||
|
||||
* Replace `<FQDN>` with the FQDN chosen in [Configure DNS](#configure-dns).
|
||||
|
||||
See the example below:
|
||||
After replacing `<FQDN>` wit the FQDN chosen in [Configure DNS](#configure-dns), the file should look like the example below (`rancher.yourdomain.com` is the FQDN used in this example):
|
||||
|
||||
```
|
||||
---
|
||||
@@ -273,4 +273,5 @@ INFO[0101] Finished building Kubernetes cluster successfully
|
||||
|
||||
Log in to Rancher to make sure it deployed successfully. Open a web browser and navigate to the FQDN chosen in [Configure DNS](#configure-dns).
|
||||
|
||||
If you are using a [Certificate Signed By A Recognized Certificate Authority](#certificate-signed-by-a-recognized-certificate-authority), you will need to clear the `cacerts` value from the CA (until [GitHub #11388](https://github.com/rancher/rancher/issues/11388) is resolved). This can be done under `Settings` -> `cacerts`, choose `Edit` and remove the contents and click `Save`.
|
||||
>**Note:**
|
||||
> If you are using a [Certificate Signed By A Recognized Certificate Authority](#certificate-signed-by-a-recognized-certificate-authority), you will need to clear the `cacerts` value from the CA (until [GitHub #11388](https://github.com/rancher/rancher/issues/11388) is resolved). This can be done under `Settings` -> `cacerts`, choose `Edit` and remove the contents and click `Save`.
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 80 KiB |
@@ -0,0 +1,2 @@
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="510px" height="336px" version="1.1" content="<mxfile userAgent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36" version="8.6.1" editor="www.draw.io" type="device"><diagram id="ba81dab3-d9be-d432-dad6-932820946ade" name="Page-1">7VlZb+M2EP41erQhibr8GMfbzUvRAlmg20daGklEJNEg6Su/vqRFyaION5vI6bZoAgTkUDPkfHOSsdBjefrK8C7/lSZQWK6dnCy0sVx35dvyryKca0IYrmpCxkhSk5wr4Zm8giZqvmxPEuDGh4LSQpCdSYxpVUEsDBpmjB7Nz1JamLvucAYDwnOMiyH1D5KIvKZGbnClPwHJ8mZnJ9D6bXH8kjG6r/R+lovSy0+9XOJGllaU5zihxw4JfbHQI6NU1KPy9AiFgraBreb7ZWK1PTeDSryFwa0ZDrjYa9U3NH4B9rTf6gOKcwPKRS1QjLaF1secCHje4VitHqUXSFouykLOHDlMSVE80oKyCy9KMERpLOlcMPoCnZUgjmCbKg5aiWe9mz3UQ6t2ACbg1CFpvb4CLUGws/xEr7p+VLNoH3QazI9Xi7a0vGPNQNOwdqKsFX0FUg40luO4ogGuT5QLJXQrFVTerMZxDJzLwZ0w9yFKvDHMI3eLgkCuzACz90/C7A1g/q1a7BiUhEuUg0Jutd4yOcrUiEFG+GWH/sqsuMtod+NRX0+CbeDPhHuA0NI3kEfRJyLvD5AfYAhV8qBysZzFBeacxCZsUnd2/t6d/KnwllrJ6YmI7xp9Nb6uTELH6Z7FYISfwCwDYWQ6SIzMP4S3A54/gl1DY1BgQQ5mvRgDVO/wOyWVuFrPd3tRE/VsUmujuboJvCcIIVOQa/cE1RgMBF3s26r9JpMHA5MzXMU5sAXHB1iQUlZFvuT5wBGkRwvT9Aw4eb2kwtrEO3W8y4H9teVvJAUXJKuU50gzgwyftYoMIiv0g14oSZIo/nWBt1Cs27prBqKqvGZpGSmRjS/3Y6/tL/RJjRo9FpMLe2mvevaYxV1WriF04bmmBJqmHD5q33DGkLanQ9p5X0ivhiHt/VQhjWzT8p7z3pD2eoLCu4V0NBnSBcVJN6Ttpnguz1KNhJaYVMuYlhZ68O0m5/yLYn6q3v5wzHsOMquwf6O6jht8YUpwojsE92pg6VudUn6jWd0xcsACOi5x534KHNnJhmP91CoIEZ6pn+pfFz61m3KGjewAwvaqqBBMMM9bODvQmRBVtFLRIjl3Skh5ytRtfYlf9wyWEmUYgh1u1O9MLWqTuG5cDbxwOiF/CNHp1Kazmsyiy+x1nsS1F5TXjxhOJ48VkIqRLCao8ncu3Z9U2Tc12Sy892esH7ghOGM+jUZ82p3BAu2B//t34H7uaD34M3JHkyo+1LdN9ma3OrpJ5Lp9W/t+172L6YL3s3RuYc98/YbrrZ1b/y3E7d/q5uvcRp4+vskEx1PZOElA7pfqPrFHaz17jouZGznmJcqZx3fMErdYmQJm6d1GXhP/b97+ptTdMwXL6fWFvrbn9b8g6Mtf</diagram></mxfile>" style="background-color: rgb(255, 255, 255);"><defs/><g transform="translate(0.5,0.5)"><rect x="4" y="15" width="120" height="60" fill="#dae8fc" stroke="#6c8ebf" pointer-events="none"/><g transform="translate(33.5,38.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="60" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 62px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">DockerHub</div></div></foreignObject><text x="30" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">DockerHub</text></switch></g><rect x="204" y="15" width="120" height="60" fill="#d5e8d4" stroke="#82b366" pointer-events="none"/><g transform="translate(205.5,31.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="116" height="26" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 116px; white-space: normal; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Host able to access DockerHub</div></div></foreignObject><text x="58" y="19" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">Host able to access DockerHub</text></switch></g><rect x="379.5" y="275" width="120" height="60" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(408.5,291.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="62" height="26" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 64px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">On-premise<br />registry<br /></div></div></foreignObject><text x="31" y="19" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 204 45 L 130.37 45" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 125.12 45 L 132.12 41.5 L 130.37 45 L 132.12 48.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(191.5,-0.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="137" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.Line truncated
|
||||
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,2 @@
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="507px" height="81px" version="1.1" content="<mxfile userAgent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36" version="8.6.1" editor="www.draw.io" type="device"><diagram id="35051330-8c91-b17a-5ae0-a339f305c3cb" name="Page-1">1VdNc5swFPw1HJMBZGT7GDtpcum0Mz40PQp4gCYCeYT8lV9fCSSDwE7TCdOmPniklfSkt/u0Gjy0Lo+PgmyLrzwF5oV+evTQvReGy8hX/xo4tcAcRS2QC5q2UNABG/oKBjTr8h1NoXYmSs6ZpFsXTHhVQSIdjAjBD+60jDN31y3JYQRsEsLG6A+ayqJFFyHu8CegeWF3DvCyHYlJ8pILvqvMfl6IsubXDpfExjKJ1gVJ+aEHoQcPrQXnsm2VxzUwTa2lrV335cro+dwCKvmeBWG7YE/YzqR+z5MXEE+72BxQniwpTVqgF/oeWh0KKmGzJYkePagqUFghS6Z6gWpmlLE1Z1w0a1FKYJElCq+l4C/QG8HJAuJMr+CV3Jjd/HEeJrU9CAnHHmTyegReghQnNcWO2iI0NRgg0z90igZWh6KnJjYYMUWUn0N3RKqG4fIyr2jE6xOvpQ4aqwR1Net2kkBdq0aPc5+o0lGZC7onUs8UkNPa7j6VHFkGOLkoRzpfxr4OOIEC6F8qMBspMGIQqvROm4XqJYzUNU1c0lTm4vTc7/zUbN9Gunuk8tlwr9vdyFXiar4TCTj1IYnIQTpXEVLHmsbk9siLLnBnMQGMSLp3De0SoWaH75xWstNuFg60Ww40abMxq/oOMwgUIjfQ2eNtoJaDUaBG33Pa75I8GkmeNhdLy7HTMwf6qzKWruICavraXNFW2a0+VXPOaOVF9wohjOaVLhilroqMVvo6UPVy3JmBkqapXr9iJAa2Or8Hzu1rXgTX8i5Yty3h4YU7v3vmpM7bceki+reBJceocBNMUiUodKPOZm4EnmU1fFRWPJL1W3WzFVDSWhkkZlrDWImMc9lIaP1yODKxg2bhFQfFMY7wNA4aoejWFe6veuh8Qg/1r3toMJmH4k/loQgPPHTuWzX/2EUXvw01nY8u3vLRuvjvfNSW8ef10ZuRkeKPG6nqdh8S7fTuYw09/AI=</diagram></mxfile>" style="background-color: rgb(255, 255, 255);"><defs/><g transform="translate(0.5,0.5)"><rect x="0" y="20" width="120" height="60" fill="#dae8fc" stroke="#6c8ebf" pointer-events="none"/><g transform="translate(29.5,43.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="60" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 62px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">DockerHub</div></div></foreignObject><text x="30" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">DockerHub</text></switch></g><rect x="200" y="20" width="120" height="60" fill="#ffe6cc" stroke="#d79b00" pointer-events="none"/><g transform="translate(201.5,29.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="116" height="40" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 116px; white-space: normal; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Host able to access DockerHub and private registry</div></div></foreignObject><text x="58" y="26" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 200 50 L 126.37 50" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><path d="M 121.12 50 L 128.12 46.5 L 126.37 50 L 128.12 53.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(155.5,-0.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="64" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;background-color:#ffffff;">docker pull</div></div></foreignObject><text x="32" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica" font-weight="bold">docker pull</text></switch></g><rect x="385.5" y="20" width="120" height="60" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(414.5,36.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="62" height="26" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 64px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">On-premise<br />registry<br /></div></div></foreignObject><text xLine truncated
|
||||
|
After Width: | Height: | Size: 6.1 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
Reference in new issue
Block a user