TIPS Kubernates Project
Master Server Ruoli (alta disponibilità quindi consigliato isolarli a Vcenter o in macchine protette).
1- Gateway 2- Scheduling 3- Manager
Nodi mutevoli in base al ruolo che prendendo.
I Nodi master vengono chiamati Control plane vedi openshift: Al cui interno: KubeApiserver, etcd, control Manager, scheduler.
ETCD: archivio che non ha che fare con ETC ma fa la stessa funzione e deve essere visibile da tutti, (Nasce da CoreOS) archivio chive valore veloce e distribuito- comunicazione scrittura e lettura JSON rest. API: tutte le comunicazioni che http post e get di comunicazione - RESTFULL KUBE-CONTROL-MANAGER: All'interno vi sono dei controller che effettuano attività varie. SCHEDULER: Distribuzione del job piano dichiarativo e decide che fare.
- Nei Nodi: Kubelet -> docker o contaniner manager locale / Network-proxy
Master - Json (Manifest) -> Nodo Kubelet - Docker Engine
Al di fuori del cluster che comunica solo e solamente con il Master.
KubeCtl (Android, IOS)
kube-controller-manager / cloud-controller-manager (espansione verso il cloud)
Le immagini vanno referenziate solo e solamente da Docker.
IGNORARE
Prereq project:
- Virtual Machine Linux - Docker Framework
Oracle Linux 8:
Problema pods c'e' installato un "coso" alternativo docker: https://www.ibm.com/docs/en/eam/4.2?topic=questions-troubleshooting-tips#uninstall_podman
yum remove buildah skopeo podman containers-common atomic-registries docker container-tools -y
Docker Framework: https://docs.docker.com/engine/install/centos/
Creazione un utente di gestione (simil ansible)
[root@minikube01 ~]# cd /etc [root@minikube01 etc]# vi group
Add user generic es. admin in /etc/group gruppo docker
minikube config set driver docker minikube start
kubectl port-forward service/hello-minikube 8080:8080 --address='0.0.0.0'
In caso di riavvio della macchina da utente admin:
http://10.2.2.35:7080/
minikube start
Links:
https://amalgjose.com/2021/06/08/how-to-configure-kubernetes-port-forward-bind-to-0-0-0-0-instead-of-default-127-0-0-1/ https://docs.docker.com/engine/install/centos/ https://minikube.sigs.k8s.io/docs/start/
-- Oracle Linux 9.3 --
sudo yum update sudo yum install yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install docker-ce docker-ce-cli containerd.io sudo systemctl start docker sudo systemctl enable docker
Test:
sudo docker --version
https://docs.oracle.com/en/learn/ol-kube/#introduction
sudo tee /etc/yum.repos.d/kubernetes.repo <<EOF [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF
sudo yum install -y kubelet kubeadm kubectl