Inlägg i blogg av Mats Johannesson
Installera master
Masterrollen för Kubernetes kommer att installeras på easec-linux1, easec-linux2 och easec-linux3.
I .easec:s miljö är Docker redan installerat, i din miljö får du installera Docker och konfigurera Docker. För att konfigurera Docker för systemd och overlay2, se mitt blogginlägg: https://portal.easec.se/moodle/blog/index.php?entryid=43
Arbetsuppgift 1: Installera kubeadm, kubelet och kubectl
1. Anslut till Easec-Linux8 och logga på som easec med lösenordet Pa$$w0rd.
2. På Easec-Linux8 öppna terminalfönstret (ctrl+alt+t) och skriv in följande kommando och klicka på Enter, för att ansluta till easec-linux1:
ssh easec-linux1
Ange Pa$$w0rd som lösenord.
3. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att lägga till signeringsnyckel för Kubernetes:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
Ange Pa$$w0rd som lösenord för sudo.
4. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att lägga till referens till förråd:
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
5. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att uppdatera referenser:
sudo apt-get update
6. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att installera:
sudo apt-get install -y kubeadm kubelet kubectl
7. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att säkerställa att kubeadm kubelet och kubectl inte uppdateras:
sudo apt-mark hold kubeadm kubelet kubectl
8. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att stänga av swap och göra detta permanent:
sudo swapoff -a && sudo sed -i '/ swap / s/^/#/' /etc/fstab
9. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att avsluta anslutning till easec-linux1:
exit
10. Gör om punkt 2 – 9 för easec-linux2 respektive easec-linux3.
Arbetsuppgift 2: Initiera masternoder
1. På Easec-Linux8, i terminalfönstret, skriv in följande kommando och klicka på Enter, för att ansluta till easec-linux1:
ssh easec-linux1
Ange Pa$$w0rd som lösenord.
2. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att skapa konfigurationsfil (notera att denna funktion fortfarande är i beta och kan förändras!): Konfigurationsfil finns här: https://github.com/easec/cluster/blob/master/stacked/config.yaml
nano config.yaml
3. I fönstret med nano, skriv in följande:
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
kubernetesVersion: stable
apiServer:
certSANs:
- "192.168.1.27"
controlPlaneEndpoint: "192.168.1.27:6443"
etcd:
external:
endpoints:
- https://192.168.1.21:2379
- https://192.168.1.22:2379
- https://192.168.1.23:2379
caFile: /etc/etcd/ca.pem
certFile: /etc/etcd/kubernetes.pem
keyFile: /etc/etcd/kubernetes-key.pem
networking:
podSubnet: 10.30.0.0/24
Klicka på ctrl+x, skriv in ett J och klicka på Enter för att spara filen.
4. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att initiera första nod:
sudo kubeadm init --config=config.yaml
Skriv in Pa$$w0rd som lösenord för sudo. Detta kommer att ta en stund!
Bild ovan visas när det är klart!
5. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att kopiera certifikat till de andra noderna:
sudo scp -r /etc/kubernetes/pki easec@192.168.1.22:~ && sudo scp -r /etc/kubernetes/pki easec@192.168.1.23:~
Ange Pa$$w0rd som lösenord för sudo.
6. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att avsluta anslutning till easec-linux1:
exit
7. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att ansluta till easec-linux2:
ssh easec-linux2
Ange Pa$$w0rd som lösenord.
8. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att ta bort certifikat och nyckel för api-server:
rm ~/pki/apiserver.*
9. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att flytta certifikat till katalogen /etc/kubernetes/:
sudo mv ~/pki /etc/kubernetes/
10. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att skapa konfigurationsfil:
nano config.yaml
11. I fönstret med nano, skriv in följande:
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
kubernetesVersion: stable
apiServer:
certSANs:
- "192.168.1.27"
controlPlaneEndpoint: "192.168.1.27:6443"
etcd:
external:
endpoints:
- https://192.168.1.21:2379
- https://192.168.1.22:2379
- https://192.168.1.23:2379
caFile: /etc/etcd/ca.pem
certFile: /etc/etcd/kubernetes.pem
keyFile: /etc/etcd/kubernetes-key.pem
networking:
podSubnet: 10.30.0.0/24
Klicka på ctrl+x, skriv in ett J och klicka på Enter för att spara filen.
12. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att initiera andra noden:
sudo kubeadm init --config=config.yaml
Skriv in Pa$$w0rd som lösenord för sudo. Precis som för easec-linux1 kommer detta att ta en stund!
Bild ovan visas när det är klart!
13. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att avsluta anslutningen till easec-linux2:
exit
14. Gör om punkt 7 – 12, för att initiera tredje noden. Innan du fortsätter med nästa steg, gör följande när du är ansluten till easec-linux3:
a. Markera textraderna som börjar med ”You can now join ..” enligt bild ovan, högerklicka och välj Kopiera.
b. Öppna Textredigeraren och klistra in texten.
c. Lägg till sudo innan kubeadm, både för control-plane nodes och för worker nodes, spara filen med namnet anslutning.txt.
15. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att avsluta anslutningen till easec-linux3:
exit