Kubernetes IDE telepítése- Lens:

Written in

by

A lens egy kubernetes IDE, monitorozó alalmazás desktop gépre.
A lens letölthető innen:

https://k8slens.dev/desktop.html

A lens telepítése után hozzá kell adni a clusterünk configját a bejelentkezéshez. A hozzáadást a kubeconfig fájl segítségével lehet elvégezni. Ezután tud a lens csatlakozni a clusterünkhöz. A kube config fájlt az alábbi paranccsal lehet lekérni:

microk8s config 
microk8s config >config

A config fájl tartalma:

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1......................HBnb0NNOWYrVjRiYnFGTWF5SHhhanZoa2dlSStFa1JlUHppL0dNOFVoTGJjWTA5am5CCkNLZmdiSXBGSlpwNTlRYk9qc1hOeFExeHF3aDJ3ZUlMM0I4RlpCWlBzUG9HYnQwU2Z2MXhXa3FYWEdUTWVza2UKWFAzQWV2bkMxOElxS0t2VUNvT0FVbWVhQXQxbStOVmV5Y3NMeU12U1N6STNSUkpGU3M2dkhXNVdMYjQ4WkY0Vgo5QlF2a1hmaFdBWkFZbTRudmdXd0NaaVEyNkxPcWxFY0FwN3JCbDE2eklNcXN1RmZVWFVsRnpTWlBKWGp1bEtQXd25WQnMwMllIenpSbHhZU08zZTVZMWJLK21aYk02YWcKaGUxRjFyOVVUZm9vRGUwVXdBclROWEo0UXc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
  server: https://192.168.1.201:16443
  name: microk8s-cluster
contexts:
- context:
    cluster: microk8s-cluster
    user: admin
  name: microk8s
current-context: microk8s
kind: Config
preferences: {}
users:
- name: admin
  user:
    token: aU9lZVg3ckR0TjNucxxxxxxxxxxxxxxxxyyyyyyyZHVFUytYYz0K

A kubernetes elérési címe a server bejegyzésben látható : https://192.168.1.201:16443. Ez a cluster egy node-jának a címe. Ha azonban a clustert nem közvetlenül ezen a címen érjük el, hanem pl. pfSense-en kersztül, akkor a config fájlt így nem tudjuk használni, hibaüzenetet fogunk kapni:

Microk8s : Unable to connect to the server: x509: certificate is valid for #internal IPs#, not #external IP#


A configban található tanusítvány nem érvényes, csak a node saját ip címére, a pfsense WAN ip címére nem, ezt címet nem tartalmazza, a külvilág viszont ezt a címet látja. Hogy erre az ip cimre is érvényes legyen a tanusítvány, frissíteni kell a tanusítványt, kiegészítve a “publikus” ip címmel:

root@as201:/# cat /var/snap/microk8s/current/certs/csr.conf
[ req ]
default_bits = 2048
prompt = no
default_md = sha256
req_extensions = req_ext
distinguished_name = dn

[ dn ]
C = GB
ST = Canonical
L = Canonical
O = Canonical
OU = Canonical
CN = 127.0.0.1

[ req_ext ]
subjectAltName = @alt_names

[ alt_names ]
DNS.1 = kubernetes
DNS.2 = kubernetes.default
DNS.3 = kubernetes.default.svc
DNS.4 = kubernetes.default.svc.cluster
DNS.5 = kubernetes.default.svc.cluster.local
IP.1 = 127.0.0.1
IP.2 = 10.152.183.1
IP.3 = 192.168.1.201
IP.4 = -------------------------------> ide jön a 'publikus' IP cím


[ v3_ext ]
authorityKeyIdentifier=keyid,issuer:always
basicConstraints=CA:FALSE
keyUsage=keyEncipherment,dataEncipherment,digitalSignature
extendedKeyUsage=serverAuth,clientAuth
subjectAltName=@alt_names

Jöhet a frissítés:


root@as201:/# microk8s.refresh-certs --cert server.crt

Taking a backup of the current certificates under /var/snap/microk8s/4595/certs-backup/
Creating new certificates
Signature ok
subject=C = GB, ST = Canonical, L = Canonical, O = Canonical, OU = Canonical, CN = 127.0.0.1
Getting CA Private Key
Restarting service kubelite.
Restarting service cluster-agent.

A pfsens szabályainál a NAT szabályok közé közé fel kell venni a 16433 -as portforwardot:

A lens -hez hozzáadjuk a cube config bemásolásával a clusterünket. Az IP cimet írjuk át a külső ip címre, amivel a tanusítványt bővítettük. Ez az a külső ip cim, amit a lens lát.
Catalog -> clusters-> hozzáadás(+) menüpont:

Ha minden sikerült , a lens csatlkozott a clusterhez:

x

Tags