docs/doc/source/system_configuration/kubernetes/about-changing-external-registries-for-starlingx-installation.rst
Elisamara Aoki Goncalves ace0287d7a AppArmor Support (dsR8)
Story: 2010310
Task: 47620

Signed-off-by: Elisamara Aoki Goncalves <elisamaraaoki.goncalves@windriver.com>
Change-Id: I97065a0d0c345bb32663e1ff631c5c4ca524231d
2023-04-25 15:53:17 -03:00

5.3 KiB

About Changing External Registries for StarlingX Installation

You can reassign the external registries used for installs, upgrades, and application updates.

When installing and upgrading or applying and updating applications, container images are pulled from external registries, for various services. By default, these container images are pulled from the following public registries: k8s.gcr.io, gcr.io, quay.io, and docker.io. During installation, specifically during the bootstrap step, these external registries can be overridden using the 'docker_registries' variable in the bootstrap override file. This task provides a procedure for changing these external registries after installing .

For convenience, many of the procedures are implemented in bash loops. If during the loops errors occur the procedure will fail. recommends to capture the existing settings before running the commands.

Make sure the following conditions are true:

  • no alarm is present
  • both controllers are online and unlocked
  • all applications required are properly applied
  • in the case of a subcloud in a distributed cloud deployment, the subcloud is in sync with the system controller
  • the auth-secret, Url, and type exist for: system service-parameter-list | grep registry

This is an example of the output:

| 16485f1e-757c-46a9-a366-0820b0f2ab77 | docker   | docker-registry      | auth-secret  | d76d3a01-7d28-4e17-a614-f10b7eb49438                                | None        | None     |
| 4436a7ab-11bc-4adb-aa9a-d15fe7a5a337 | docker   | docker-registry      | type         | docker                                                              | None        | None     |
| e9ac3877-bc1c-4bd0-8d4e-6ead5a09b07c | docker   | docker-registry      | url          | old-registry.domain.com:5001/product-abc/starlingx/docker.io        | None        | None     |
| 3f44da5a-020d-42af-a15c-bf54da1e4c94 | docker   | elastic-registry     | auth-secret  | de5195da-a791-4d05-9bb2-0a106d65dd33                                | None        | None     |
| afbc4d14-5359-4b54-9431-01fe83440cf6 | docker   | elastic-registry     | type         | docker                                                              | None        | None     |
| 05644812-daee-43a0-89e3-45006a6807fd | docker   | elastic-registry     | url          | old-registry.domain.com:5001/product-abc/starlingx/docker.elastic.co| None        | None     |
| 76c15302-62ec-44d8-8352-ae8e681dfb02 | docker   | gcr-registry         | auth-secret  | 772f88cb-3355-4663-8a95-026409b629cb                                | None        | None     |
| 5d4004ed-c212-4cb0-b309-82225cc011a9 | docker   | gcr-registry         | type         | docker                                                              | None        | None     |
| 18d8a51b-99b1-4caf-8e98-740dc3bdfd74 | docker   | gcr-registry         | url          | old-registry.domain.com:5001/product-abc/starlingx/gcr.io           | None        | None     |
| 64e8a11f-3be9-4086-992a-948a92f8441b | docker   | k8s-registry         | auth-secret  | 4ba49153-fb12-4db6-9509-779ac4f1f2fa                                | None        | None     |
| eca50140-b082-4229-8ca3-562abd6e3693 | docker   | k8s-registry         | type         | docker                                                              | None        | None     |
| 497a935c-c8fc-422e-88d3-e9cbd6d12a95 | docker   | k8s-registry         | url          | old-registry.domain.com:5001/product-abc/starlingx/k8s.gcr.io       | None        | None     |
| a84328a0-3219-4b54-b4fa-5903f25f70ea | docker   | quay-registry        | auth-secret  | c293a43d-0e4b-4dec-a5f4-baffb65e07f0                                | None        | None     |
| 96b6eb45-b101-4bcb-8168-3f9f79baaa7d | docker   | quay-registry        | type         | docker                                                              | None        | None     |
| 0fe2e1b9-8005-4ff8-98c2-ba0ad66103b9 | docker   | quay-registry        | url          | old-registry.domain.com:5001/product-abc/starlingx/quay.io          | None        | None     |
| d88d2562-2a58-43fb-ab42-d5e63c6bf500 | docker   | registryk8s-registry | type         | docker                                                              | None        | None     |
| fa8c3e00-b1b0-469b-8d73-5362f8d99725 | docker   | registryk8s-registry | url          | old-registry.domain.com:5001/product-abc/starlingx/registry.k8s.io  | None        | None     |
| f3449be4-b8d5-43fd-8493-ede6429f411f | docker   | registryk8s-registry | auth-secret  | a48cfbac-849e-42cb-b012-b0b4f23bf2b9                                | None        | None     |

The new registry uses username and password authentication. Its path is the same as the existing registry path. For example if docker.io path is old-registry.domain.com:5001/product-abc/starlingx/docker.io on the existing registry, then the new registry must be new-registry.domain.com:9001/product-abc/starlingx/docker.io.

To change a registry, see Change the Registries' URLs <change-the-registry-url>.