installation des images Docker

Docker Logos | Docker

install emby

microk8s kubectl create deployment embyserver --image=emby/embyserver:latest
microk8s kubectl expose deployment embyserver --type=NodePort --port=8096
microk8s kubectl port-forward -n default service/embyserver 8096:8096 --address 192.168.1.26 &

install sickchill

microk8s kubectl create deployment sickchill --image=sickchill/sickchill
microk8s kubectl expose deployment sickchill --type=NodePort --port=8081

microk8s kubectl port-forward -n default service/sickchill 8081:8081 --address 192.168.1.26 &

install transmission

microk8s kubectl create deployment transmission --image=linuxserver/transmission
microk8s kubectl expose deployment transmission --type=NodePort --port=9091
microk8s kubectl port-forward -n default service/transmission 9091:9091 --address 192.168.1.26 &

edit file /config/settings.json

Ubuntu , Docker, Kubernetes

Installer ubuntu sur proxmox

Installer Docker

curl https://releases.rancher.com/install-docker/20.10.sh | sh

Update Ubuntu

Afin deviter des erreur pendant l’install il faut mettre a jour ubuntu avant de lancer la procedure d’install

sudo apt update
sudo apt upgrade
sudo reboot

Installer Kubernetes

https://ubuntu.com/tutorials/install-a-local-kubernetes-with-microk8s#2-deploying-microk8s

sudo snap install microk8s --classic
sudo ufw allow in on cni0 && sudo ufw allow out on cni0
sudo ufw default allow routed
microk8s enable dns dashboard storage
microk8s kubectl get all --all-namespaces
microk8s kubectl port-forward -n  kube-system service/kubernetes-dashboard 10443:443 --address 0.0.0.0 &&

creation d’un alias pour lancer les commandes “microk8s kubectl” directement avec ” kubectl”

sudo snap alias microk8s.kubectl kubectl
david@legion2:~$ microk8s kubectl get all --all-namespaces
NAMESPACE     NAME                                             READY   STATUS    RESTARTS       AGE
kube-system   pod/coredns-7f9c69c78c-7ljk2                     1/1     Running   1 (6h2m ago)   6h36m
kube-system   pod/calico-kube-controllers-6b654d96bd-ngxnq     1/1     Running   1 (6h2m ago)   14h
kube-system   pod/calico-node-tb2cz                            1/1     Running   1 (6h2m ago)   14h
kube-system   pod/metrics-server-85df567dd8-gfjvk              1/1     Running   0              5h57m
kube-system   pod/kubernetes-dashboard-59699458b-66gng         1/1     Running   0              5h53m
kube-system   pod/dashboard-metrics-scraper-58d4977855-lg8qw   1/1     Running   0              5h53m
kube-system   pod/hostpath-provisioner-5c65fbdb4f-nvclh        1/1     Running   0              5h53m
default       pod/embyserver-56d8c5b5bc-4xtj9                  1/1     Running   0              13m

NAMESPACE     NAME                                TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                  AGE
default       service/kubernetes                  ClusterIP   10.152.183.1     <none>        443/TCP                  14h
kube-system   service/kube-dns                    ClusterIP   10.152.183.10    <none>        53/UDP,53/TCP,9153/TCP   6h36m
kube-system   service/metrics-server              ClusterIP   10.152.183.220   <none>        443/TCP                  5h57m
kube-system   service/kubernetes-dashboard        ClusterIP   10.152.183.11    <none>        443/TCP                  5h54m
kube-system   service/dashboard-metrics-scraper   ClusterIP   10.152.183.66    <none>        8000/TCP                 5h54m
default       service/embyserver                  NodePort    10.152.183.74    <none>        8096:30829/TCP           9m48s

NAMESPACE     NAME                         DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
kube-system   daemonset.apps/calico-node   1         1         1       1            1           kubernetes.io/os=linux   14h

NAMESPACE     NAME                                        READY   UP-TO-DATE   AVAILABLE   AGE
kube-system   deployment.apps/coredns                     1/1     1            1           6h36m
kube-system   deployment.apps/calico-kube-controllers     1/1     1            1           14h
kube-system   deployment.apps/metrics-server              1/1     1            1           5h57m
kube-system   deployment.apps/kubernetes-dashboard        1/1     1            1           5h54m
kube-system   deployment.apps/dashboard-metrics-scraper   1/1     1            1           5h54m
kube-system   deployment.apps/hostpath-provisioner        1/1     1            1           5h54m
default       deployment.apps/embyserver                  1/1     1            1           13m

NAMESPACE     NAME                                                   DESIRED   CURRENT   READY   AGE
kube-system   replicaset.apps/calico-kube-controllers-69d7f794d9     0         0         0       14h
kube-system   replicaset.apps/coredns-7f9c69c78c                     1         1         1       6h36m
kube-system   replicaset.apps/calico-kube-controllers-6b654d96bd     1         1         1       14h
kube-system   replicaset.apps/metrics-server-85df567dd8              1         1         1       5h57m
kube-system   replicaset.apps/kubernetes-dashboard-59699458b         1         1         1       5h53m
kube-system   replicaset.apps/dashboard-metrics-scraper-58d4977855   1         1         1       5h53m
kube-system   replicaset.apps/hostpath-provisioner-5c65fbdb4f        1         1         1       5h53m
default       replicaset.apps/embyserver-56d8c5b5bc                  1         1         1       13m

Reflexion Data Pool

je poursuis la reflexion sur la repartition de disques.

Je m’arrete sur une repartition de ce type:

1-Serveur

dataset regroupant tout ce qui concerne le serveur

  • Le system (proxmox / ubuntu serveur / kubernetes / true nas)
  • les params (docker / vm)

2-NetLife

replication des site web et depot de données sur le Net

5-Documents

tout les documents , creation , code source , modele , papier , reference . regroupé dans 4 categorie

  • Active : projet/repertoire qui sont en cours
  • Retention : projet/repertoire consultable ou de reference
  • Archive : n’est plus utilisé mais encore conserver (repertoire zipper)
  • IceStorage : conservation long repertoire zipper

8-Photo

Toutes les photos , y compris le dataset 00-CheckIn on sont rassemble en automatique les photo des telephone

9-VideoClub

  • cyclops/1-Serveur
  • cyclops/1-Serveur/10-System
  • cyclops/1-Serveur/20-Param
  • cyclops/2-NetLife
  • cyclops/2-NetLife/50-WebSite
  • cyclops/2-NetLife/60-Git
  • diablo/5-Documents
  • diablo/5-Documents/10-Active
  • diablo/5-Documents/50-Rentention
  • diablo/5-Documents/80-Archive
  • diablo/5-Documents/90-IceStorage
  • diablo/8-Photo
  • diablo/8-Photo/00-CheckIn
  • diablo/8-Photo/50-Phototheque
  • magneto/9-VideoClub
  • magneto/9-VideoClub/10-Film
  • magneto/9-VideoClub/20-Film_Vf
  • magneto/9-VideoClub/30-Series
  • magneto/9-VideoClub/40-Anime
  • magneto/9-VideoClub/90-Insanity

Bye bye Rancher

Apres avoir vu les statistiques de consomation de rancher , je desinstalle.

Meme au repos la consomation est elevée.

Mon besoin etant limité :

  • un seule cluster
  • peu de cpu
  • ui kubernetes comme au boulot

Creation template Ubuntu

Lors de mes tentative d’installation de rancher , j’ai reinstaller plusieur fois ubuntu.

Je crée donc un template pour mettre en place une procedure de deployement plutot que d’installe a chaque fois.

Premierement j’installe un VM ubuntu via l’iso , en activant l’option dans l’installation “ssh”

j’ajoute qemu-guest-agent pour que proxmox puisse recuperer des info de la VM

 sudo apt-get install qemu-guest-agent

en suivant cette video , j’utilise cloud-init pour faire un template deployable

sudo apt install cloud-init
un fois fait , pour crée une nouvelle vm ubuntu on fait un full clone

Ubuntu , Docker, Rancher, Kubernetes

Installer ubuntu sur proxmox

Installer Docker

curl https://releases.rancher.com/install-docker/20.10.sh | sh

Installer Rancher

la commande d’installation fait que /opt/rancher est l’emplacement persistant de la configuration du node docker , ce qui permet d’assigner un disk vm pour conserver la config rancher meme si on detruit le contener docker

ajouter un disk a la vm

dans ubuntu le partitionner , formater et le monter

sudo mkdir /opt/rancher

sudo parted /dev/sdb

sudo mkfs -t ext4 /dev/sdb1

sudo nano -Bw /etc/fstab
/dev/sdb1    /opt/rancher   ext4    defaults     0        2

Execution de le commande d’installation

docker run -d --restart=unless-stopped   -p 80:80 -p 443:443   -v /opt/rancher:/var/lib/rancher --privileged --name=rancher_docker_server -e CATTLE_BOOTSTRAP_PASSWORD=password rancher/rancher:latest 

References

https://techno-tim.github.io/posts/docker-rancher-kubernetes/

Reorg DataPool

Sur les 5 disk , 3 sont interne et 2 sont en USB

sudo fdisk -l | grep "Disk /"
sudo blkid -o list

Les 2 usb (500 et 300 Go) serve de tempon pour reorganiser le system de fichier.

Comme je n’ai que des disques unique je ne fais pas de redondance (Raid)

Diablo 1To

0,850 Redondance

  • 0.500 Backup Photo
  • 0.003 Backup Git
  • 0.100 ~Backup System
  • 0.050 ~Backup SiteWeb
  • 0,200 ~Backup DataPool

0,150 IceStorage

  • 0.020 ~IceStorage

Magneto 2To

VideoClub

  • 1.160 Videoclub
  • 0.168 VideoclubSerie
  • 0.013 VideoclubAnime
  • 0.306 VideoClubVF

Cyclops 4To

DataPool

  • 0.004 Mediarack
  • 0.011 Home_Desk
  • 0.111 Locker
  • 0.002 Office
  • 0.009 Kitchen
  • 0,014 OldMail
  • 0.030 ~DeportEspaceProjet
  • 0.200 ~PhotoCheckIn

Configurer TrueNas

Une fois l’installation de TrueNAs términé , a partir de la console du PVE , on attache les disques necessaire pour TrueNas “/etc/pve/qemu-server/<VMID>. conf”

qm set 102 -scsi1 /dev/disk/by-id/ata-WDC_WD10EZRX-00D8PB0_WD-WCC4M0EE37RE
qm set 102 -scsi2 /dev/disk/by-id/ata-WDC_WD20EZRX-22D8PB0_WD-WCC4M7UHY201
qm set 102 -scsi5 /dev/disk/by-id/ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K5HL7SHY-part1
qm set 102 -scsi6 /dev/disk/by-id/ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K5HL7SHY-part2

On se connecter a la webinterface

installation disque/pool

Il faut des disque sans données pour crée une Pool de disque ZFS (tout les disques doivent etre de la meme taille

Tout mes diques sont differents , jutilise donc 2 mes disques Usb de secours pour initialiser 2 Pool (un par disque) un de 500 g0 et un de 300 go

Les donnes des disques seront effacer

Si les zfs existe deja on peut le importer

Creation des Datasets

On edite les permissions et il faut editer via ACL en utilisant le preset “OPEN”

Le proprietaire et ROOT et dans GROUP {un groupe a definir}

Creation user

On creé un user avec “Microsoft Account” et “Samba Authentification” et dans le groupe auxliaire “wheel” et {un groupe a definir}

Creation Share

Netwok Configuration

Il faut parametre la gateaway etait le rputer de la box et les namespaces etait le serveur dns de mon providers

Debugging

Pour faciliter le debug , j’active la console gui et le niveau debug