|
|
@ -0,0 +1,66 @@ |
|
|
|
# Public Download Mirror |
|
|
|
|
|
|
|
The public mirror is useful to make the public resources download quickly in some areas of the world. (such as China). |
|
|
|
|
|
|
|
## Configuring Kubespray to use a mirror site |
|
|
|
|
|
|
|
You can follow the [offline](offline-environment.md) to config the image/file download configuration to the public mirror site. If you want to download quickly in China, the configuration can be like: |
|
|
|
|
|
|
|
```shell |
|
|
|
gcr_image_repo: "gcr.m.daocloud.io" |
|
|
|
kube_image_repo: "k8s.m.daocloud.io" |
|
|
|
docker_image_repo: "docker.m.daocloud.io" |
|
|
|
quay_image_repo: "quay.m.daocloud.io" |
|
|
|
github_image_repo: "ghcr.m.daocloud.io" |
|
|
|
|
|
|
|
files_repo: "https://files.m.daocloud.io" |
|
|
|
``` |
|
|
|
|
|
|
|
Use mirror sites only if you trust the provider. The Kubespray team cannot verify their reliability or security. |
|
|
|
You can replace the `m.daocloud.io` with any site you want. |
|
|
|
|
|
|
|
## Example Usage Full Steps |
|
|
|
|
|
|
|
You can follow the full steps to use the kubesray with mirror. for example: |
|
|
|
|
|
|
|
Install Ansible according to Ansible installation guide then run the following steps: |
|
|
|
|
|
|
|
```shell |
|
|
|
# Copy ``inventory/sample`` as ``inventory/mycluster`` |
|
|
|
cp -rfp inventory/sample inventory/mycluster |
|
|
|
|
|
|
|
# Update Ansible inventory file with inventory builder |
|
|
|
declare -a IPS=(10.10.1.3 10.10.1.4 10.10.1.5) |
|
|
|
CONFIG_FILE=inventory/mycluster/hosts.yaml python3 contrib/inventory_builder/inventory.py ${IPS[@]} |
|
|
|
|
|
|
|
# Use the download mirror |
|
|
|
cp inventory/mycluster/group_vars/all/offline.yml inventory/mycluster/group_vars/all/mirror.yml |
|
|
|
sed -i -E '/# .*\{\{ files_repo/s/^# //g' inventory/mycluster/group_vars/all/mirror.yml |
|
|
|
tee -a inventory/mycluster/group_vars/all/mirror.yml <<EOF |
|
|
|
gcr_image_repo: "gcr.m.daocloud.io" |
|
|
|
kube_image_repo: "k8s.m.daocloud.io" |
|
|
|
docker_image_repo: "docker.m.daocloud.io" |
|
|
|
quay_image_repo: "quay.m.daocloud.io" |
|
|
|
github_image_repo: "ghcr.m.daocloud.io" |
|
|
|
files_repo: "https://files.m.daocloud.io" |
|
|
|
EOF |
|
|
|
|
|
|
|
# Review and change parameters under ``inventory/mycluster/group_vars`` |
|
|
|
cat inventory/mycluster/group_vars/all/all.yml |
|
|
|
cat inventory/mycluster/group_vars/k8s_cluster/k8s-cluster.yml |
|
|
|
|
|
|
|
# Deploy Kubespray with Ansible Playbook - run the playbook as root |
|
|
|
# The option `--become` is required, as for example writing SSL keys in /etc/, |
|
|
|
# installing packages and interacting with various systemd daemons. |
|
|
|
# Without --become the playbook will fail to run! |
|
|
|
ansible-playbook -i inventory/mycluster/hosts.yaml --become --become-user=root cluster.yml |
|
|
|
``` |
|
|
|
|
|
|
|
The above steps are by adding the "Use the download mirror" step to the [README.md](../README.md) steps. |
|
|
|
|
|
|
|
## Community-run mirror sites |
|
|
|
|
|
|
|
DaoCloud(China) |
|
|
|
|
|
|
|
* [image-mirror](https://github.com/DaoCloud/public-image-mirror) |
|
|
|
* [files-mirror](https://github.com/DaoCloud/public-binary-files-mirror) |