simon / rancher-fleet.md

Last active 3 months ago

rancher-fleet.md Raw

env setup

k3s node setup

POD_CIDR="10.42.0.0/16"
API_SERVER_IP=10.201.24.235
API_SERVER_PORT=6443
cilium-cli install   --set k8sServiceHost=${API_SERVER_IP}   --set k8sServicePort=${API_SERVER_PORT}   --set ipam.operator.clusterPoolIPv4PodCIDRList=$POD_CIDR   --set kubeProxyReplacement=true   --helm-set=operator.replicas=1
helm upgrade --install vsphere-cpi vsphere-cpi/vsphere-cpi --namespace kube-system --set config.enabled=true --set config.vcenter="10.201.23.1" --set config.username='capv@vsphere.local' --set config.password="Giantswarm-2024" --set config.datacenter="giant-swarm"
kubectl patch node k3s-1-control-plane-hxf82 --type=json -p='[{"op":"remove","path":"/spec/taints"}]'

install fleet controller

ref: https://fleet.rancher.io/how-tos-for-operators/installation#_configuration_for_multi_cluster

get API server url for fleet controller cluster:

API_SERVER_URL=$(kubectl --kubeconfig ../kubeconfigs/k3s-mc.kubeconfig config view -o json --raw | jq -r '.clusters[] | select(.name=="k3s-mc").cluster["server"]')

get API server CA bundle for fleet controller cluster:


kubectl --kubeconfig /tmp/k3s-mc.kubeconfig config view -o json --raw | jq -r '.clusters[] | select(.name=="k3s-mc").cluster["certificate-authority-data"]' | base64 -d > ca.pem
API_SERVER_CA="ca.pem"
helm -n cattle-fleet-system install --create-namespace --wait --set apiServerURL="$API_SERVER_URL" --set-file apiServerCA="$API_SERVER_CA" fleet fleet/fleet

install fleet agent

ref: https://fleet.rancher.io/how-tos-for-operators/cluster-registration#_install_agent_for_a_predefined_cluster

extract values from join token secret:

k view-secret k3s-test  > extracted-values.yaml

install fleet-agent in the managed cluster:

helm -n cattle-fleet-system install --create-namespace --wait --set clientID="k3s-test" --values extracted-values.yaml fleet-agent fleet/fleet-agent