72 lines
2.1 KiB
Markdown
72 lines
2.1 KiB
Markdown
#### Installation de kubectl
|
|
|
|
```bash
|
|
sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl gnupg
|
|
sudo mkdir -p -m 755 /etc/apt/keyrings
|
|
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.33/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
|
|
sudo chmod 644 /etc/apt/keyrings/kubernetes-apt-keyring.gpg
|
|
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.33/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
|
|
sudo chmod 644 /etc/apt/sources.list.d/kubernetes.list
|
|
sudo apt-get update
|
|
sudo apt-get install -y kubectl
|
|
```
|
|
|
|
#### Installation de k3sup :
|
|
|
|
```bash
|
|
# Avec curl
|
|
curl -sLS https://get.k3sup.dev | sh
|
|
sudo install k3sup /usr/local/bin/
|
|
|
|
# Ou téléchargement direct depuis GitHub
|
|
wget https://github.com/alexellis/k3sup/releases/download/0.13.11/k3sup
|
|
chmod +x k3sup
|
|
sudo mv k3sup /usr/local/bin/
|
|
```
|
|
|
|
#### Configuration sudo sans mot de passe :
|
|
|
|
```bash
|
|
# Ajout de l'utilisateur au groupe sudo
|
|
sudo usermod -aG sudo pleb
|
|
|
|
# Configuration pour éviter la saisie de mot de passe
|
|
echo "pleb ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/pleb
|
|
```
|
|
|
|
#### Premier déploiement :
|
|
|
|
```bash
|
|
# Installation du master node
|
|
k3sup install --ip 192.168.1.14 --user pleb --ssh-key $HOME/.ssh/bikiniBottom
|
|
|
|
# Ajout des worker nodes
|
|
k3sup join --ip 192.168.1.13 --server-ip 192.168.1.14 --user pleb --ssh-key $HOME/.ssh/bikiniBottom
|
|
k3sup join --ip 192.168.1.16 --server-ip 192.168.1.14 --user pleb --ssh-key $HOME/.ssh/bikiniBottom
|
|
# k3sup join --ip 192.168.1.19 --server-ip 192.168.1.14 --user pleb --ssh-key $HOME/.ssh/bikiniBottom
|
|
```
|
|
|
|
#### Vérification du cluster :
|
|
|
|
```bash
|
|
# Export du kubeconfig
|
|
export KUBECONFIG=/home/julien/kubeconfig
|
|
|
|
# Vérification des nœuds
|
|
kubectl get nodes -o wide
|
|
|
|
# Check des pods système
|
|
kubectl get pods -n kube-system
|
|
```
|
|
|
|
#### Validation :
|
|
|
|
```bash
|
|
kubectl get nodes
|
|
|
|
NAME STATUS ROLES AGE VERSION
|
|
gary Ready <none> 77s v1.34.4+k3s1
|
|
sandy Ready control-plane 39m v1.34.4+k3s1
|
|
sheldon Ready <none> 48s v1.34.4+k3s1
|
|
```
|