From 4d0d8bf07ead1a35c9c6aef2e7af96653e30162b Mon Sep 17 00:00:00 2001 From: Frank Yang Date: Fri, 8 Apr 2022 18:19:21 +0800 Subject: [PATCH] Add setup rancher and harvester in air-gapped environment Signed-off-by: Frank Yang --- docs/airgap.md | 277 ++++++++++++++++++++++ docs/assets/rke2-dns-customdomains.db.png | Bin 0 -> 58775 bytes 2 files changed, 277 insertions(+) create mode 100644 docs/assets/rke2-dns-customdomains.db.png diff --git a/docs/airgap.md b/docs/airgap.md index c75eac0802e..336f8f76309 100644 --- a/docs/airgap.md +++ b/docs/airgap.md @@ -12,6 +12,283 @@ This section describes how to use Harvester in an air gapped environment. Some u The Harvester ISO image contains all the packages to make it work in an air gapped environment. +## Working without HTTP Proxy + +In this example, we use KVM to provision Harvester and integrate it with Rancher. + +### Setup offline Harvester + +1. Clone [harvester/ipxe-examples](https://github.com/harvester/ipxe-examples). +1. Go to `vagrant-pxe-harvester` folder. +1. Edit [settings.yml](https://github.com/harvester/ipxe-examples/blob/c8267b6270660255bf71149a1fef3a7a914550de/vagrant-pxe-harvester/settings.yml#L44) and set `offline: true`. +1. Execute [setup_harvester.sh](https://github.com/harvester/ipxe-examples/blob/main/vagrant-pxe-harvester/setup_harvester.sh) script. + +### Deploy Rancher on k3s and setup private registry in another VM. + +1. Create another KVM with two network interfaces `harvester` and `vagrant-libvirt`. `harvester` network interface is for intranet and `vagrant-libvirt` is for internet. We need `vagrant-libvirt` to download all required resources. We will remove it before we start Rancher. Also, please give this VM at least 300GB to save all required images. +1. Install [Docker](https://www.docker.com/) and [Helm](https://helm.sh/). +1. Create `certs` folder. +``` +mkdir -p certs +``` +1. Generate private registry certificate files. +``` +openssl req \ + -newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key \ + -addext "subjectAltName = DNS:myregistry.local" \ + -x509 -days 365 -out certs/domain.crt +``` +1. Move certificate files to `/etc/docker/certs.d`. +``` +sudo mkdir -p /etc/docker/certs.d/myregistry.local:5000 +sudo cp certs/domain.crt /etc/docker/certs.d/myregistry.local:5000/domain.crt +``` +1. Start private registry. +``` +docker run -d \ + -p 5000:5000 \ + --restart=always \ + --name registry \ + -v "$(pwd)"/certs:/certs \ + -v "$(pwd)"/registry:/var/lib/registry \ + -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \ + -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \ + registry:2 +``` +1. Add `myregistry.local` to `/etc/hosts`. Remember to change `192.168.0.50` to your private ip. +``` +# vim /etc/hosts +192.168.0.50 myregistry.local +``` +1. Create `get-rancher` script. +``` +# vim get-rancher +#!/bin/bash +if [[ $# -eq 0 ]] ; then + echo 'This requires you to pass a version for the url like "v2.6.4"' + exit 1 +fi +wget https://github.com/rancher/rancher/releases/download/$1/rancher-images.txt +wget https://github.com/rancher/rancher/releases/download/$1/rancher-load-images.sh +wget https://github.com/rancher/rancher/releases/download/$1/rancher-save-images.sh +chmod +x ./rancher-save-images.sh +chmod +x ./rancher-load-images.sh +``` +1. Make `get-rancher` script be excutable. +``` +chmod +x get-rancher +``` +1. Download `rancher-images.txt`, `rancher-load-images.sh` and `rancher-save-images.sh`. +``` +./get-rancher v2.6.4 +``` +1. Add cert-manager images to `rancher-images.txt`. +``` +helm repo add jetstack https://charts.jetstack.io/ +helm repo update +helm fetch jetstack/cert-manager --version v1.7.1 +helm template ./cert-manager-v1.7.1.tgz | awk '$1 ~ /image:/ {print $2}' | sed s/\"//g >> ./rancher-images.txt +``` +1. Sort `rancher-images.txt`. +``` +sort -u rancher-images.txt -o rancher-images.txt +``` +1. Get images. This step may take 1 to 2 hours. It depends on your network speed. +``` +./rancher-save-images.sh --image-list ./rancher-images.txt +``` +1. Create `get-k3s` script. +``` +# vim get-k3s +#!/bin/bash +if [[ $# -eq 0 ]] ; then + echo 'This requires you to pass a version for the url like "v1.23.4+k3s1"' + exit 1 +fi +wget https://github.com/k3s-io/k3s/releases/download/$1/k3s-airgap-images-amd64.tar +wget https://github.com/k3s-io/k3s/releases/download/$1/k3s +wget https://get.k3s.io/ -O install.sh +chmod +x ./k3s +chmod +x ./install.sh +``` +1. Make `get-k3s` be excutable. +``` +chmod +x get-kes +``` +1. Download `k3s-airgap-images-amd64.tar`, `k3s` and `install.sh`. +``` +./get-k3s v1.23.4+k3s1 +``` +1. Download Rancher. +``` +helm repo add rancher-latest https://releases.rancher.com/server-charts/latest +helm fetch rancher-latest/rancher --version=v2.6.4 +``` +1. Download `cert-manager-crds.yaml`. +``` +mkdir cert-manager +curl -L -o cert-manager/cert-manager-crd.yaml https://github.com/jetstack/cert-manager/releases/download/v1.7.1/cert-manager.crds.yaml +``` +1. Remove `vagrant-libvirt` network interface. We've downloaded all required resources. We can cut network from this step. +1. Move `k3s-airgap-images-amd64.tar` to `/var/lib/rancher/k3s/agent/images/`. +``` +sudo mkdir -p /var/lib/rancher/k3s/agent/images/ +sudo cp k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/ +``` +1. Create `/etc/rancher/k3s` folder. +``` +mkdir -p /etc/rancher/k3s +``` +1. Add `registries.yaml` to `/etc/rancher/k3s`. +``` +# vim /etc/rancher/k3s/registries.yaml +mirrors: + docker.io: + endpoint: + - "https://myregistry.local:5000/" +configs: + "myregistry.local:5000": + tls: + insecure_skip_verify: true +``` +1. Install k3s. +``` +INSTALL_K3S_SKIP_DOWNLOAD=true ./install.sh +``` +1. Generate cert-manager YAML files. +``` +helm template cert-manager ./cert-manager-v1.7.1.tgz --output-dir . \ + --namespace cert-manager \ + --set image.repository=myregistry.local:5000/quay.io/jetstack/cert-manager-controller \ + --set webhook.image.repository=myregistry.local:5000/quay.io/jetstack/cert-manager-webhook \ + --set cainjector.image.repository=myregistry.local:5000/quay.io/jetstack/cert-manager-cainjector \ + --set startupapicheck.image.repository=myregistry.local:5000/quay.io/jetstack/cert-manager-ctl +``` +1. Move `/etc/rancher/k3s/k3s.yaml` to `~/.kube`. +``` +mkdir ~/.kube +sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config +sudo chown $USER ~/.kube/config +export KUBECONFIG=~/.kube/config +``` +1. Install cert-manager. +``` +kubectl create namespace cert-manager +kubectl apply -f cert-manager/cert-manager-crd.yaml +kubectl apply -R -f ./cert-manager +``` +1. Create CA private key and certifacate file. +``` +openssl genrsa -out cakey.pem 2048 +openssl req -x509 -sha256 -new -nodes -key cakey.pem -days 3650 -out cacerts.pem -subj "/CN=cattle-ca" +``` +1. Create `openssl.cnf`. Remember to change `192.168.0.50` to your private ip. +``` +[req] +req_extensions = v3_req +distinguished_name = req_distinguished_name +[req_distinguished_name] +[ v3_req ] +basicConstraints = CA:FALSE +keyUsage = nonRepudiation, digitalSignature, keyEncipherment +extendedKeyUsage = clientAuth, serverAuth +subjectAltName = @alt_names +[alt_names] +DNS.1 = myrancher.local +IP.1 = 192.168.0.50 +``` +1. Generate private key and certificate file for `myrancher.local`. +``` +openssl genrsa -out tls.key 2048 +openssl req -sha256 -new -key tls.key -out tls.csr -subj "/CN=myrancher.local" -config openssl.cnf +openssl x509 -sha256 -req -in tls.csr -CA cacerts.pem \ + -CAkey cakey.pem -CAcreateserial -out tls.crt \ + -days 3650 -extensions v3_req \ + -extfile openssl.cnf +``` +1. Create `cattle-system` namespace. +``` +kubectl create ns cattle-system +``` +1. Create `tls.sa` secret. +``` +kubectl -n cattle-system create secret generic tls-ca \ + --from-file=cacerts.pem=./cacerts.pem +``` +1. Create `tls-rancher-ingress` secret. +``` +kubectl -n cattle-system create secret tls tls-rancher-ingress \ + --cert=tls.crt \ + --key=tls.key +``` +1. Generate Rancher YAML files. +``` +helm template rancher ./rancher-2.6.4.tgz --output-dir . \ + --no-hooks \ + --namespace cattle-system \ + --set hostname=myrancher.local \ + --set rancherImageTag=v2.6.4 \ + --set rancherImage=myregistry.local:5000/rancher/rancher \ + --set systemDefaultRegistry=myregistry.local:5000 \ + --set useBundledSystemChart=true \ + --set ingress.tls.source=secret \ + --set privateCA=true +``` +1. Install Rancher. +``` +kubectl -n cattle-system apply -R -f ./rancher +``` +1. Add `myrancher.local` to `/etc/hosts`. Remember to change `192.168.0.50` to your private ip. +``` +# vim /etc/hosts +192.168.0.50 myregistry.local myrancher.local +``` + +### Integrate Harvester with Rancher in air-gapped environment + +1. (Harvester VM) Add `myregistry.local` to `/etc/hosts`. Remember to change `192.168.0.50` to your private ip. +``` +# vim /etc/hosts +192.168.0.50 myregistry.local +``` +1. (Harvester VM) Add `registries.yaml` to `/etc/rancher/rke2/`. +``` +# vim /etc/rancher/rke2/registries.yaml +mirrors: + docker.io: + endpoint: + - "https://myregistry.local:5000" +configs: + "myregistry.local:5000": + tls: + insecure_skip_verify: true +``` +1. (Harvester VM) Restart RKE2. +``` +systemctl restart rke2-server.service +``` +1. (Harvester VM) Update `rke2-coredns-rke2-coredns` ConfigMap. Remember to change `192.168.0.50` to your private ip. +``` +# replace data like following +data: + Corefile: ".:53 {\n errors \n health {\n lameduck 5s\n }\n ready + \n kubernetes cluster.local cluster.local in-addr.arpa ip6.arpa {\n pods + insecure\n fallthrough in-addr.arpa ip6.arpa\n ttl 30\n }\n prometheus + \ 0.0.0.0:9153\n hosts /etc/coredns/customdomains.db myrancher.local {\n + \ fallthrough\n }\n forward . /etc/resolv.conf\n cache 30\n loop + \n reload \n loadbalance \n}" + customdomains.db: | + 192.168.0.50 myrancher.local +``` +1. (Harvester VM) Update `rke2-coredns-rke2-coredns` Deployment. +``` +# Add customdomains.db to volumes +- key: customdomains.db + path: customdomains.db +``` +![rke2-dns-customdomains.db](./assets/rke2-dns-customdomains.db.png) +1. Follow [Rancher Integration](./rancher/rancher-integration.md) to import Harvester to Rancher. + ## Working Behind an HTTP Proxy In some environments, the connection to external services, from the servers or VMs, requires an HTTP(S) proxy. diff --git a/docs/assets/rke2-dns-customdomains.db.png b/docs/assets/rke2-dns-customdomains.db.png new file mode 100644 index 0000000000000000000000000000000000000000..a8f8bd2455469cce0f5d70274c42fda36111f389 GIT binary patch literal 58775 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