TIPS Kubernates Project: differenze tra le versioni

Da GazziNet.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Nessun oggetto della modifica
 
(36 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
 
- Leggere teoria del DEVOPS -


Master Server Ruoli (alta disponibilità quindi consigliato isolarli a Vcenter o in macchine protette).
Master Server Ruoli (alta disponibilità quindi consigliato isolarli a Vcenter o in macchine protette).
Riga 9: Riga 9:
Nodi mutevoli in base al ruolo che prendendo.
Nodi mutevoli in base al ruolo che prendendo.


  - Nei Nodi: Kubelet -> docker o contaniner manager locale
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.
 
 
 
Deployment - ReplicaSet - Replication Controller (Aggiornamenti)-> Controller di Replica gestione dei numero dei pod attivi aventi all'interno vari container.
 
Deployment - Oggetto che ReplicaSet/ReplicaController - Gestione alla C***ACR*
 
Per l'aggiornamento degli applicazione aggiorno i Replication Controller attraverso il deployments.
 
Stateful sets pod specializzati con ordinamento unico.
 
 
  - Nei Nodi: Kubelet -> docker o contaniner manager locale / Network-proxy - KubeProxy ponte tra rete pods e rete esterna.




  Master - Json (Manifest) -> Nodo Kubelet - Docker Engine
  Master - Json (Manifest) -> Nodo Kubelet - Docker Engine


App consigliate:
- Cabin - Mobile Access a Kubernates
- kube-PSL (KubeShell alternative)
- Kube-Prompt
Monitoraggio:
- Kube-Ops-View (Monitoraggio open-source - MultiCluster)
Installazione Applicativi:
- Teresa
Note a margine:


- Ingress - Bilanciatore di carico
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)
https://metallb.universe.tf/configuration/


Le immagini vanno referenziate solo e solamente da Docker.
Le immagini vanno referenziate solo e solamente da Docker.


Distribuzioni Kubernates
1. MicroK8s
2. Charmed Kubernetas (Default di fatto)
3. Cloud Hosted
4. KubeADM (Usata prelevante su fisico)
[18:04] Emanuel Agro
kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/calico.yaml
enabled_plugins = ["cri"]
[plugins."io.containerd.grpc.v1.cri".containerd]
  endpoint = "unix:///var/run/containerd/containerd.sock"
usare:
https://dev.to/ajeetraina/step-by-step-guide-installing-kubernetes-cluster-on-centos-8-e1g








Installazione nodi:




sudo yum install -y 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 docker-buildx-plugin docker-compose-plugin -y;
sudo systemctl start docker;
sudo systemctl enable docker;


USATPo: https://upcloud.com/resources/tutorials/install-kubernetes-cluster-centos-8




https://metallb.universe.tf/configuration/








# Set SELinux in permissive mode (effectively disabling it)
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config


# This overwrites any existing configuration in /etc/yum.repos.d/kubernetes.repo
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.29/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.29/rpm/repodata/repomd.xml.key
exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni
EOF


sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes


sudo systemctl enable --now kubelet




kind: Job, CronJob





Versione attuale delle 14:27, 15 mag 2024

- Leggere teoria del DEVOPS -

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.


Deployment - ReplicaSet - Replication Controller (Aggiornamenti)-> Controller di Replica gestione dei numero dei pod attivi aventi all'interno vari container.

Deployment - Oggetto che ReplicaSet/ReplicaController - Gestione alla C***ACR*

Per l'aggiornamento degli applicazione aggiorno i Replication Controller attraverso il deployments.

Stateful sets pod specializzati con ordinamento unico.


- Nei Nodi: Kubelet -> docker o contaniner manager locale / Network-proxy - KubeProxy ponte tra rete pods e rete esterna.


Master - Json (Manifest) -> Nodo Kubelet - Docker Engine

App consigliate:

- Cabin - Mobile Access a Kubernates
- kube-PSL (KubeShell alternative)
- Kube-Prompt

Monitoraggio:

- Kube-Ops-View (Monitoraggio open-source - MultiCluster) 

Installazione Applicativi:

- Teresa


Note a margine:

- Ingress - Bilanciatore di carico



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)

https://metallb.universe.tf/configuration/

Le immagini vanno referenziate solo e solamente da Docker.



Distribuzioni Kubernates

1. MicroK8s
2. Charmed Kubernetas (Default di fatto)
3. Cloud Hosted
4. KubeADM (Usata prelevante su fisico)


[18:04] Emanuel Agro kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/calico.yaml

enabled_plugins = ["cri"] [plugins."io.containerd.grpc.v1.cri".containerd]

 endpoint = "unix:///var/run/containerd/containerd.sock"


usare:

https://dev.to/ajeetraina/step-by-step-guide-installing-kubernetes-cluster-on-centos-8-e1g



Installazione nodi:


sudo yum install -y 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 docker-buildx-plugin docker-compose-plugin -y;
sudo systemctl start docker;
sudo systemctl enable docker;

USATPo: https://upcloud.com/resources/tutorials/install-kubernetes-cluster-centos-8


https://metallb.universe.tf/configuration/



# Set SELinux in permissive mode (effectively disabling it)
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
# This overwrites any existing configuration in /etc/yum.repos.d/kubernetes.repo
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.29/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.29/rpm/repodata/repomd.xml.key
exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni
EOF
sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
sudo systemctl enable --now kubelet


kind: Job, CronJob



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