Since I did Install Gardener on Rancher, it has become my Kubernetes platform of choice.

Lately, I ran into an issue creating new clusters leveraging Cloudflare though:

To troubleshoot this, I install gardenctl in 4 steps:

  1. Package Manager
  2. kubectl
  3. kubelogin
  4. gardenctl

Package Manager

Working on Windows, I leverage Chocolatey:

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

kubectl

To start with, I copy the configuration file from when I did Prepare your SAP Data Intelligence installation with Rancher:

choco install kubernetes-cli
mkdir ~/.kube
cp config ~/.kube/config 

kubelogin

I need to put the kubelogin binary on mypath under the name kubectl-oidc_login so that the kubectl plugin mechanism can find it when I invoke kubectl oidc-login:

choco install kubelogin
cp C:ProgramDatachocolateybinkubectl.exe C:ProgramDatachocolateybinkubectl-oidc_login.exe

gardenctl

gardenctl needs a session ID and kube configuration but is otherwise easy to install:

choco install gardenctl-v2
if ( !(Test-Path Env:GCTL_SESSION_ID) -and !(Test-Path Env:TERM_SESSION_ID) ) { $Env:GCTL_SESSION_ID = [guid]::NewGuid().ToString() }
gardenctl-v2 config set-garden architectsap --kubeconfig C:UsersFrankkubeconfig-garden-garden.yaml
gardenctl-v2 kubectl-env powershell
$Env:KUBECONFIG = 'C:UsersFrankAppDataLocalTempgarden3f3a762c-6e24-4b09-b899-e46fecb72db8kubeconfig.yaml';
kubectl get controllerregistration

After logging in with dex:

The output confirms that I am missing DNSRecord/cloudflare-dns:

PS C:WINDOWSsystem32> kubectl get controllerregistration
NAME                RESOURCES                                                                                                                                                                                      AGE
dns-external        DNSProvider/aws-route53, DNSProvider/alicloud-dns, DNSProvider/azure-dns, DNSProvider/google-clouddns, DNSProvider/openstack-designate, DNSProvider/cloudflare-dns, DNSProvider/infoblox-dns   4d23h
networking-calico   Network/calico                                                                                                                                                                                 4d23h
os-gardenlinux      OperatingSystemConfig/gardenlinux                                                                                                                                                              4d23h
os-suse-chost       OperatingSystemConfig/suse-chost                                                                                                                                                               4d23h
os-ubuntu           OperatingSystemConfig/ubuntu                                                                                                                                                                   4d23h
provider-gcp        Infrastructure/gcp, ControlPlane/gcp, Worker/gcp, BackupBucket/gcp, BackupEntry/gcp, DNSRecord/google-clouddns                                                                                 4d23h
runtime-gvisor      ContainerRuntime/gvisor

Which is luckily easy enough to add thanks to Tim Schrodi:

Gardener DNS Extension for Cloudflare

Sara Sampaio

Sara Sampaio

Author Since: March 10, 2022

0 0 votes
Article Rating
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x