TIPS Kubernates Project: differenze tra le versioni
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
(54 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 | |||
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 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 |
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