TIPS Kubernates Project: differenze tra le versioni

Da GazziNet.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Nessun oggetto della modifica
 
(51 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).
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:  
Prereq project:  


Riga 4: Riga 136:
- Docker Framework
- 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
Problema pods: 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
   yum remove buildah skopeo podman containers-common atomic-registries docker container-tools -y


Docker Framework: https://docs.docker.com/engine/install/centos/
Docker Framework: https://docs.docker.com/engine/install/centos/
Creazione un utente di gestione (simil ansible)


  [root@minikube01 ~]# cd /etc
  [root@minikube01 ~]# cd /etc
  [root@minikube01 etc]# vi group
  [root@minikube01 etc]# vi group


  Add user generic in /etc/group
  Add user generic es. admin in /etc/group gruppo docker


  minikube config set driver docker
  minikube config set driver docker
  minikube start
  minikube start


  kubectl port-forward service/hello-minikube 7080:8080 --address='0.0.0.0'
  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


kubectl expose deployment hello-minikube --type=NodePort --port=8080 --address='0.0.0.0'
sudo yum install -y kubelet kubeadm kubectl

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