Site blog

Page: () 1 2 3 4 5 ()
Picture of Mats Johannesson
by Mats Johannesson - Tuesday, 26 May 2020, 6:24 PM
Anyone in the world

Sommar

Ja mina vänner, allt har sin början och sitt slut som jag brukar säga! .easec började av en slump för tio år sedan, när jag var utlokaliserad till Söndraby. Hade ett arbete och arbetsgivare som jag trivdes väldigt bra med, men av privata skäl var jag tvungen att avsluta detta. Och nu avslutas denna epok av en slump! Hade ett bra möte i våras och detta ledde till att jag fick ett förslag som jag tyckte var riktigt intressant och på måndag (1 juni) kommer jag att börja på KnowIT Cloud AB (https://www.knowit.se/om-knowit/).

Men det har varit en fantastisk resa och vad många roliga och intressanta människor jag har träffat! Jag har fått resa en hel del inom Sverige, det finns 290 kommuner och jag har varit i 282 av dessa kommuner. De flesta i tjänsten så att säga, men några privat. Även om Skåne naturligtvis är vackrast, så har det slagit mig många gånger, under mina tågresor, att Sverige är fantastiskt oavsett var du kommer!

En del av de jag har träffat, har jag kunnat följa och se hur de har utvecklas och fått bra och intressanta arbetsuppgifter, detta har gett en skön känsla för mig. I de längre utbildningarna har jag försökt att förmedla mina egna tankar och idéer, som kommer från idrottsvärlden. Grundtanken i min filosofi är att det finns inget problem som är för stort och som man inte kan ta sig igenom. Delar man upp problemet i mindre bitar, så är det mycket lättare att lösa och till slut har man även löst det stora problemet. En annan viktig del i min filosofi, är att vara nyfiken! 

.easec kommer inte att försvinna, utan kommer att finnas kvar och fortsätta att vara, troligtvis, Sverige:s största oberoende leverantör av IT-utbildningar. Drygt ett femtiotal kurser och ett stort antal användare på portalen!


Tags:
[ Modified: Tuesday, 26 May 2020, 6:28 PM ]
 
Anyone in the world

Omslag


Förutsättning: Konto för GCP.

 

Arbetsuppgift 1: Anslut till konsol för GCP och logga på

1. Öppna webbläsare och skriv in URL: https://console.cloud.google.com och klicka på Enter.

2.  Logga på med dina inloggningsuppgifter.

 

Arbetsuppgift 2: Skapa projekt och verifiera att API är påslaget

1. I konsol, expandera Navigation menu på vänstra sidan och klicka på IAM & Admin – Settings.

Ändra projektnamn


2. I fältet under Project name, skriv in nytt namn för ditt projekt, klicka sedan på SAVE.

3. Återinläs sidan och namnet kommer att förändras.

4. I konsol, expandera Navigation menu på vänstra sidan och klicka på APIs & Services - Dashboard.

Söka efter Kubernetes Engine API


5. Skriv in Kubernetes Engine API i sökrutan och klicka på Enter. Klicka på Kubernetes Engine API i sökresultatet.

Klicka på ENABLE.


6. Klicka på ENABLE (Om API redan är påslaget, kommer det att stå DISABLE). Detta kommer att ta några minuter.


Översikt Kubernetes Engine API


7. När API är påslaget kommer översiktsbild att visas.


Söka efter Google Container Registry


8. Skriv in Google Container Registry API i sökrutan och klicka på Enter. Klicka på Google Container Registry API i sökresultatet.

Verifiera att Google Container Registry är påslaget

9. Verifiera att det står Enabled under Activation status.


Arbetsuppgift 3: Skapa kluster

Aktiver Cloud Shell

1. I den högra övre delen av konsol, klicka på ikon >_ (Activate Cloud Shell).

Cloud Shell Continue

2. I nedre delen av konsol, klicka på Continue. Virtuell maskin med Cloud Shell kommer att skapas och startas.

Öppna Cloud Shell i nytt fönster

3. Istället för att arbeta i den nedre delen av konsolen, klicka på ikon för Open in new window, för att öppna ett nytt fönster med Cloud Shell.

Skapa variabel med information om zon

4. Skriv in följande kommando och klicka på Enter, för att skapa variabel som innehåller namnet för den zon där du kommer att skapa klustret:

 export MIN_ZON=europe-north1-a

För att se vilka zoner som finns tillgängliga, använd följande kommando: 

gcloud compute zones list


Skapa kluster

5. Skriv in följande kommando och klicka på Enter, för att skapa kluster för webbfrontend med två (2) noder:

 gcloud container clusters create webbfronten --zone $MIN_ZON --num-nodes 2


Status när klustret har skapats

6. Efter en stund kommer klustret vara klart, verifiera att STATUS visar RUNNING.

kubectl get version

7. Skriv in följande kommando och klicka på Enter, för att kontrollera version:

kubectl version

Noder är VM

8. Återgå till konsol, expandera Navigation menu på vänstra sidan och klicka på Compute Engine, verifiera att noder som du skapade är virtuella maskiner och att dessa finns i den zon som du specificerade.

Kubernetes cluster

9. Du kan även se klustret genom att expandera Navigation menu på vänstra sidan och klicka på Kubernetes clusters, verifiera att klustret som du skapade tidigare visas.

 

Arbetsuppgift 4: Skapa deplyment för nginx

1. Återgå till fönstret för Cloud Shell.

kubectl create deployment nginx --image:nginx:latest

2. Skriv in följande kommando och klicka på Enter, för att skapa deployment för nginx:

kubectl create deployment nginx --image=nginx:latest

kubectl get pods

2. Deployment består av en pod, för att verifiera detta skriv in följande kommando och klicka på Enter:

kubectl get pods

 

Arbetsuppgift 5: Exponera pod för åtkomst från Internet (LoadBalancer)

kubectl expose deployment nginx

1. I fönstret för Cloud Shell, skriv in följande kommando och klicka på Enter:

kubectl expose deployment nginx --port 80 --type LoadBalancer

LoadBalancer exponeras som en tjänst (services). I .easec:s modul Kubernetes beskrivs de olika kopplingarna som kan göras, bland annat med NodePort.

kubectl get services

2. I fönstret för Cloud Shell, skriv in följande kommando och klicka på Enter, för att se information om extern IP-adress (Kan ta en liten stund!):

kubectl get services

Notera extern IP-adress.

Webbläsare

3. Öppna ny flik i din webbläsare, skriv in extern IP-adress och klicka på Enter. Standardsida för nginx visas.

kubectl scale deployment

4. I fönstret för Cloud Shell, skriv in följande kommando och klicka på Enter, för att skala din deployment:

 kubectl scale deployment nginx --replicas 4

kubectl get pods

5. I fönstret för Cloud Shell, skriv in följande kommando och klicka på Enter, för att se pods:

kubectl get pods


kubectl get pods

6. I fönstret för Cloud Shell, skriv in följande kommando och klicka på Enter, för att se på vilka noder som pods körs på:

 kubectl get pods -o wide

Två pods körs på respektive nod. Lägg märke till att respektive pod har en unik IP-adress.

I verklig miljö så kan du styra hur dessa pods kommer att fördelas. I .easec:s modul Kubernetes tittar vi på detta. Det kommer att komma ett blogginlägg om detta. I Kubernetes är det Scheduler som hanterar detta.

Scheduler

Bilden ovan visar två typer av undersökningar som kan göras (det finns fler), tillgång av resurser och etikett (label).

Kubernetes Engine - Service & Ingress

7. Återgå till konsol, expandera Navigation menu på vänstra sidan och klicka på Kubernetes Engine – Services & Ingress, notera att tjänsten visas i konsol.

Service overview

8. Dubbelklicka på din tjänst, i fliken Overview får du en översiktsbild för din tjänst.

YAML

9. Klicka på fliken YAML för att se konfigurationsfil för din funktion.

 

Arbetsuppgift 6: Städa upp
kubectl delete deployment nginx

1. I fönstret för Cloud Shell, skriv in följande kommando och klicka på Enter:

kubectl delete deployment nginx

kubectl get pods

2. I fönstret för Cloud Shell, skriv in följande kommando och klicka på Enter, för att verifiera att pods är borttagna:

 kubectl get pods

Kommandot resulterar i att inga pods finns.

kubectl delete service nginx

3.cI fönstret för Cloud Shell, skriv in följande kommando och klicka på Enter, för att ta bort tjänst (nginx):

 kubectl delete service nginx

kubectl get services

4. I fönstret för Cloud Shell, skriv in följande kommando och klicka på Enter, för att kontrollera att tjänst är borta:

 kubectl get services

gcloud container clusters delete

5. I fönstret för Cloud Shell, skriv in följande kommando och klicka på Enter, för att ta bort klustret:

 gcloud container clusters delete webbfronten --zone $MIN_ZON

Skriv in ett Y och klicka på Enter för att bekräfta att du vill ta bort.


Verifiera att VM är borta

6. Återgå till konsol, expandera Navigation menu på vänstra sidan och klicka på Compute Engine, verifiera att noder som skapades tidigare är borta.

 

Du är klar!













[ Modified: Saturday, 16 May 2020, 12:23 AM ]
 
Picture of Mats Johannesson
by Mats Johannesson - Tuesday, 5 May 2020, 1:53 PM
Anyone in the world

Lomma hamn


Den 18-19 maj kör Edument AB .easec:s kurs Orkestrering i Docker online!


Läs mer här: https://www.edument.se/product/orkestrering-i-docker

 
Anyone in the world

Inlägget beskriver hur du arbetar med Azure Active Directory genom att använda Graph-module. Instruktionerna kommer från .easec:s kurs Office 365 för administratören


Arbetsuppgift 1: Installera modul

1. Högerklicka på Start-knappen och välj alternativ Windows PowerShell (Admin).

2. I dialogfönstret User Account Control, klicka på Yes.

Install-Module -Name AzureAD

3. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att installera modul för hantering av användare och grupper:

                  Install-Module -Name AzureAD


 Skriv in ett Y och klicka på ENTER, för frågan om Untrusted repository.


Get-Module AzureAD


4. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att verifiera att modul har installerats:

                  Get-Module AzureAD


Arbetsuppgift 2: Anslut till Azure AD för din Office 365 tenant

Connect-AzureAD

1. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter:

                   Connect-AzureAD


2. Skriv in E-post adress för ditt administratörskonto, klicka på Nästa.

3. Skriv in ditt lösenord och klicka på Logga in.

Detaljer Azure AD

4. Detaljer om tenant visas i fönstret Administrator: Windows PowerShell.

 

Arbetsuppgift 3: Hantera användare med Graph

Get-AzureADUser

1. I fönstret Administrator: Windows Powershell, skriv in följande kommando och klicka på Enter:

                   Get-AzureADUser


Användare som visas på bilden, är användare som skapas i kursen dels med det grafiska gränssnittet och dels med traditionella Windows PowerShell cmdlets.

Get-AzureUser -ObjectID

2. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter:

                   Get-AzureADUser -ObjectID annikap@easecxxyy.onmicrosoft.com


I .easec:s kurs skapas tenant i Office 365 med namnet easecxxyy, där xx står för veckonummer och yy för deltagarens initialer.

Get-AzureADUser -objectID Select-Object

3. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att visa specifika egenskaper:

                   Get-AzureADUser -ObjectID annikap@easecxxyy.onmicrosoft.com | Select-Object DisplayName,UserPrincipalName, AccountEnabled


4. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter:

                    Get-AzureADUser -ObjectID annikap@easecxxyy.onmicrosoft.com | Get-Member


Allra först listas ett antal metoder (Windows PowerShell är ett programmeringsspråk som är av typen objektorienterat), därefter ett antal egenskaper (property). Dessa egenskaper kan du visa exempelvis genom att använda cmdlet Format-Table, men även om de andra cmdlets för formatering av utdata används eller för att undersöka cmdlets när skript skall tillverkas.


Set-AzureAD

5. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter:

                    Get-AzureADUser -ObjectID annikap@easecxxyy.onmicrosoft.com | Set-AzureADUser -Department Ekonomi


Get-AzureADUser Where-Object

6. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter:

                   Get-AzureADUser | Where-Object {$_.Department -eq "Ekonomi"} 


{$_.Department …} betyder just detta objekt, som skall undersökas.


Arbetsuppgift 4: Skapa och ta bort användare med Graph

$PasswordProfile

1. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att skapa profil för lösenord:

                   $PasswordProfile=New-Object -TypeName Microsoft.Open.AzureAD.Model.PasswordProfile

Kommandot kommer att göra en kopia (instansiera) av klassen Microsoft.Open.AzureAD.Model.PasswordProfile.

$PasswordProfile.Password

2. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att lägga till lösenord:

                   $PasswordProfile.Password="Pa55w.rd"


Egenskap (Password) för vår kopierad klass sätt  och tilldelas ett värde.

New-AzureADUser

3. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att skapa nytt konto:

                   New-AzureADUser -DisplayName "Marcus Rosenberg"  -GivenName "Marcus" -SurName "Rosenberg"  

                   -UserPrincipalName marcusr@easecxxyy.onmicrosoft.com -UsageLocation SE -MailNickName macrusr

                   -PasswordProfile $PasswordProfile -AccountEnabled $true

Get-AzureADUser

4. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att verifiera att kontot skapades:

                   Get-AzureADUser


Notera att konto för Marcus Rosenberg finns med.

Remove-AzureADUser

5. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att plocka bort konto du precis skapade:

                   Remove-AzureADUser -ObjectID marcusr@easecxxyy.onmicrosoft.com

Remove-AzureADUser

6. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att verifiera att kontot är borta:

                  Get-AzureADUser


Arbetsuppgift 4: Skapa användare från CSV-fil

CSV-fil med användare

1. Öppna Anteckningarna, skriv in följande (ersätt xxyy med dina parametrar):

                   UserPrincipalName, DisplayName, MailNickName

                   marcusr@easecxxyy.onmicrosoft.com, Marcus Rosenberg, marcusros

                   gullanh@easecxxyy.onmicrosoft.com, Gullan Holm, gullanhol

                   jonasn@easecxxyy.onmicrosoft.com, Jonas Nydahl, jonasnyd

 

Spara undan filen med namnet anv.csv i C.\Easec (skapa katalogen om inte den finns, glöm inte att markera All Files (*.*) ).

$Anvpassword

2. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter:

                  $Anvpassword = New-Object -TypeName Microsoft.Open.AzureAD.Model.PasswordProfile

$Anvpassword.Password

3. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter:

                  $Anvpassword.Password = ”Pa55w.rd”

Import-Csv

4. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter:

                  Import-Csv -Path C:\Easec\anv.csv | foreach {New-AzureADUser -UserPrincipalName $_.UserPrincipalName   

                  -DisplayName $_.DisplayName -MailNickName $_.MailNickName -PasswordProfile $Anvpassword -AccountEnabled 

                  $true}

Get-AzureADUser nya användare

5. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att verifiera att kontot är borta:

                  Get-AzureADUser


Notera att de nya användarna finns med.


Arbetsuppgift 5: Hantera grupper med Graph

Get-AzureADGroup

1. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att lista grupper:

                   Get-AzureADGroup

New-AzureADGroup

2. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att skapa ny grupp:

                   New-AzureADGroup -Description "Support" -DisplayName "Support" -MailEnabled $false -SecurityEnabled $true 

                   -MailNickName "Support"


Uppdatera grupp är en tvåstegsprocess, först måste ObjectId inhämtas, sedan uppdatera gruppen.

Get-AzureADGroup -Filter

3. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att inhämta ObjectId:

                   Get-AzureADGroup -Filter "DisplayName eq  'Support'"

Set-AzureADGroup

4. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att uppdatera med ny information:

                   Set-AzureADGroup -ObjectId <Object-Id> -Description "Användare på supportavdelningen"

Get-AzureADGroup -Filter

5. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att verifiera uppdateringen:

                   Get-AzureADGroup -Filter "DisplayName eq  'Support'"

 

Lägga till användare i gruppen, innehåller tre moment: skapa variabel som innehåller information om grupp, skapa variabel som innehåller information om specifik användare, uppdatera medlemskapet. Gruppägare sätts med liknande teknik, cmdlet Add-AzureADGroupOwner används istället. För att ta bort ägare, använd cmdlet Remove-AzureADGroupOwner,

$ObjectGroup

6. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att skapa variabel med gruppinformation:

                    $ObjectGroup = Get-AzureADGroup -SearchString "Support"

$ObjectIdUser

7. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter:

                    $ObjectIdUser = Get-AzureADUser -ObjectId karlh@easecxxyy.onmicrosoft.com

Användare Karl Hult skapas i .easec:s kurs,

Add-AzureGroupMember

8. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att lägga till användare Karl Hult i gruppen support:

                    Add-AzureADGroupMember -ObjectId $ObjectGroup.ObjectId -RefObjectId $ObjectIdUser.ObjectId

Get-AzureADGroupMember

9. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att verifiera att användare har lagts till i gruppen:

                    Get-AzureADGroupMember -ObjectId $ObjectGroup.ObjectId

$ObjectIdUser2

10. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter:

                    $ObjectIdUser2 = Get-AzureADUser -ObjectId kristinao@easecxxyy.onmicrosoft.com

Add-AzureAddGroupMemeber_-ObjectId

11. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att lägga till användare Karl Hult i gruppen support:

                    Add-AzureADGroupMember -ObjectId $ObjectGroup.ObjectId -RefObjectId $ObjectIdUser2.ObjectId

Get-AzureGroupMember

12. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att verifiera att användare har lagts till i gruppen:

                    Get-AzureADGroupMember -ObjectId $ObjectGroup.ObjectId

Remove-AzureADGroupMember

13. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att ta bort användare Karl Hult från gruppen Support:

                    Remove-AzureADGroupMember -ObjectId $ObjectGroup.ObjectId -MemberId $ObjectIdUser.ObjectId

Get-AzureADGroupMember

14. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att verifiera att användare har tagits bort från gruppen:

                    Get-AzureADGroupMember -ObjectId $ObjectGroup.ObjectId

Get-AzureADUserMembership

15. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att lista vilken eller vilka grupper som användare är medlem i (Kristina Olsson):

                     Get-AzureADGroupMembership -ObjectId $ObjectIdUser2.ObjectId


Arbetsuppgift 5: Avsluta anslutningen

 

1. I fönstret Administrator: Windows PowerShell, skriv in följande kommando och klicka på Enter, för att avsluta anslutning till AzureAD:

                      Disconnect-AzureAD



[ Modified: Sunday, 31 May 2020, 9:15 PM ]
 
Anyone in the world

sudo kubectl --kubeconfig


Installera worker

Miljö

Rollen worker för Kubernetes kommer att installeras på easec-linux4, easec-linux5 och easec-linux6.

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-linux4

Om det är första gången du ansluter till easec-linux4, skriv in yes och klicka på Enter. Ange Pa$$w0rd som lösenord.

curl -s

3. För att lägga till signeringsnyckel för Kubernetes, skriv in följande kommando och klicka på Enter:

                    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.

sudo apt-add-repository

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 lägga uppdatera referenser:

                    sudo apt-get update

sudo apt-get install

6. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att installera kubeadm kubelet och kubectl:

                    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-linux4:

                    exit

5.     Gör om punkt 2 – 9 för easec-linux5 respektive easec-linux6.

 

Arbetsuppgift 2: Initiera noder

scp ~/anslutning.txt

1. På Easec-Linux8, i terminalfönstret, skriv in följande kommando och klicka på Enter, för att kopiera filen anslutning.txt till easec-linux4, easec-linux5 och easec-linux6:

                    scp ~/anslutning.txt easec@192.168.1.24:~ && scp ~/anslutning.txt easec@192.168.1.25:~ && scp ~/anslutning.txt                          easec@192.168.1.26:~  

 Är det första gången du ansluter, får du skriva in yes och klicka på Enter. Ange Pa$$w0rd som lösenord.

2. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att ansluta till easec-linux4:

                    ssh easec-linux4

 Ange Pa$$w0rd som lösenord.

3. I terminalfönstret, skriv in följande kommando och klicka på Enter:

                    nano anslutning.txt

Kopiera anslutningskommando

4. Markera nedre raderna som börjar med sudo kubeadm join (under raden "Then you can join any number of worker nodes … ", högerklicka och välj Kopiera. Klicka på ctrl+x för att avsluta nano.

5. Högerklicka först i terminalfönstret och välj klistra in.

sudo kubeadm join

6. Klicka på Enter, ange Pa$$w0rd som lösenord för sudo.

7. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att avsluta anslutningen till easec-linux4:

                     exit

8. Gör om punkt 2 – 7 för easec-linux5 respektive easec-linux6.


Arbetsuppgift 3: Verifiera noder

1. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att ansluta till easec-linux1 (masternod):

                     ssh easec-linux1

 Ange Pa$$w0rd som lösenord.

sudo kubelet --kubconfig

2. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att verifiera att du har sex noder, av dessa är tre master:

                     sudo kubectl --kubeconfig /etc/kubernetes/admin.conf get nodes

 Ange Pa$$w0rd som lösenord för sudo.


I .easec:s tvådagars workshop fortsätter vi konfigurationen med:

- Installation av overlay network.

- Installation av klient på easec-linux8.

- Installation av dashboard.

- Installation av registry.

Andra dagen sätter du upp det andra alternativet med extern klustrad etcd.

Två tilläggsdagar erbjuds:

- Kubernetes i molntjänst (aws, Azure eller Google).

- Övervakning.



[ Modified: Friday, 20 March 2020, 11:57 AM ]
 
Picture of Mats Johannesson
by Mats Johannesson - Thursday, 19 March 2020, 11:10 AM
Anyone in the world

miljö

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.

curl krypteringsnyckel

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.

sudo apt-add-repository

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

sudo apt-get install

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

sudo apt-mark

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

sudo swapoff

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

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.

sudo kubeadmin

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!

Klart

Bild ovan visas när det är klart!

sudo scp

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.*

sudo mv

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.

sudo kubeadm

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!

sudo kubeadm del 2

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:

Kopiera

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.

lägg till sudo

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




[ Modified: Thursday, 19 March 2020, 12:06 PM ]
 
Anyone in the world

Officiell konst Lindängen, Malmö


Inlägget beskriver hur du konfigurerar Docker att använda systemd och overlay2


Arbetsuppgift 1: Modifiera /etc/docker/daemon.json

1. Öppna terminalfönster (ctrl+alt+t), skriv in följande kommando och klicka på Enter:

                   sudo nano /etc/docker/daemon.json

 Ange lösenord för sudo och klicka på Enter.

sudo nano /etc/docker/daemon.json


2. I fönstret för nano, gör följande förändringar (exempel visar även hur konfiguration av DNS för containers görs):

                   {

                              "dns": ["8.8.8.8 ", "8.8.4.4 "],

                              "exec-opts": ["native.cgroupdriver=systemd"],

                              "log-driver": "json-file",

                              "log-opts": "100m"

                               },

                               "storage-driver ": "overlay2"

                      }

 

Klicka på ctrl+x, skriv in ett J och klicka på Enter för att spara filen.

 

Arbetsuppgift 2: Läs in den nya konfigurationen

1. I terminalfönster, skriv in följande kommando och klicka på Enter:

                     sudo systemctl daemon-reload

2. I terminalfönster, skriv in följande kommando och klicka på Enter:

                     sudo systemctl restart docker


Arbetsuppgift 3: Verifiera inställningarna


docker info

1. I terminalfönstret, skriv in följande kommando och klicka på Enter:

                      docker info

[ Modified: Friday, 20 March 2020, 7:50 AM ]
 
Anyone in the world

ETCDCTL


Installera och konfigurera etcd


etcd kommer att installeras på easec-linux1, easec-linux2 och easec-linux3. Versionen är 3.4.4 som är den senaste när denna dokumentation skrevs (200317).

 

Arbetsuppgift 1: Kopiera certifikat till respektive maskin

1. Anslut till easec-linux8 och logga på som easec med lösenordet Pa$$w0rd.

scp ca.pem

2. På easec-linux8 öppna terminalfönstret (ctrl+alt+t) och skriv in följande kommando och klicka på Enter, för att kopiera certifikat till respektive maskin:

                    scp ca.pem kubernetes.pem kubernetes-key.pem easec@192.168.1.21:~

Ange Pa$$w0rd som lösenord. Om det är första gången du ansluter, får du skriva yes och klicka på Enter.

3. I terminalfönstret, upprepa föregående kommando, men ändra IP-adress till 192.168.1.22 respektive 192.168.1.23.

 

Arbetsuppgift 2: Installera etcd

1. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att ansluta till easec-linux1:

                    ssh easec-linux1

 Om det är första gången du ansluter, får du skriva in yes och klicka på Enter, skriv därefter in Pa$$w0rd för att ansluta.

sudo mkdir /etc/etcd /var/lib/etcd

2. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att skapa konfigurationskataloger för etcd:

                    sudo mkdir /etc/etcd /var/lib/etcd

Skriv in Pa$$w0rd som lösenord för sudo.

sudo mv ~/ca.pem

3. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att flytta certifikat till katalogen /etc/etcd:

                    sudo mv ~/ca.pem ~/kubernetes.pem ~/kubernetes-key.pem /etc/etcd

wget etcd

4. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att ladda ner binärer för etcd:

                    wget https://github.com/etcd-io/etcd/releases/download/v3.4.4/etcd-v3.4.4-linux-amd64.tar.gz

tar xvzf

5. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att packa upp binärer för etcd:

                    tar xvzf etcd-v3.4.4-linux-amd64.tar.gz

sudo mv etcd

6. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att flytta binärer till /usr/local/bin:

                    sudo mv etcd-v3.4.4-linux-amd64/etcd* /usr/local/bin/


Arbetsuppgift 3: Skapa systemd-fil

 

1. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att skapa systemd-fil:

                    sudo nano /etc/systemd/system/etcd.service

I mitt förråd på GitHub finns etcd.service-filer för respektive maskin (https://github.com/easec/cluster/tree/master/stacked)

sudo nano /etc/systemd/system/etcd.service

2. I fönstret för nano, skriv in följande:

 

                    [Unit]

                    Description=etcd

                    Documentation=https://github.com/coreos

 

                    [Service]

                    ExecStart=/usr/local/bin/etcd \

                     --name 192.168.1.21 \

                     --cert-file=/etc/etcd/kubernetes.pem \

                     --key-file=/etc/etcd/kubernetes-key.pem \

                     --peer-cert-file=/etc/etcd/kubernetes.pem \

                     --peer-key-file=/etc/etcd/kubernetes-key.pem \

                     --trusted-ca-file=/etc/etcd/ca.pem \

                     --peer-trusted-ca-file=/etc/etcd/ca.pem \

                     --peer-client-cert-auth \

                    --client-cert-auth \

                    --initial-advertise-peer-urls https://192.168.1.21:2380 \

                    --listen-peer-urls https://192.168.1.21:2380 \

                    --listen-client-urls https://192.168.1.21:2379,http://127.0.0.1:2379 \

                    --advertise-client-urls https://192.168.1.21:2379 \

                    --initial-cluster-token etcd-cluster-0 \

                    --initial-cluster 192.168.1.21=https://192.168.1.21:2380,192.168.1.22=https://192.168.1.22:2380,192.168.1.23=

                    https://192.168.1.23:2380 \

                    --initial-cluster-state new \

                    --data-dir=/var/lib/etcd

                    Restart=on-failure

                    RestartSec=5


                    [Install]

                    WantedBy=multi-user.target

 

Klicka på ctrl+x, skriv in ett J och klicka på Enter för att spara filen.

sudo systemctl daemon-reload

3. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att återinläsa konfigurationen för daemon:

                     sudo systemctl daemon-reload

sudo systemctl enable etcd

4. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att starta etcd vid uppstart:

                     sudo systemctl enable etcd

sudo systemctl start etcd

5. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att starta etcd:

                     sudo systemctl start etcd

6. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att avsluta session mot Easec-Linux1:

                     exit

7. Gör om arbetsuppgift 2 och 3 på easec-linux2 och easec-linux3 med respektive IP-adresser.


Arbetsuppgift 4: Verifiera klustret

ETCDCTL

1. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att verifiera klustret och att det är igång:

                     ETCDCTL_API=3 etcdctl member list



Notering felsökning:

Ibland händer det att det går fel :-), när systemd används så är kommandot journalctl ett bra verktyg för att se vad som har gått fel.

Exempelvis: sudo journalctl -u etcd.service (om det är etcd), eftersom det kan bli väldigt mycket information kan det vara bra att lägga denna i en textfil, för att sedan undersöka denna textfil lite närmare sudo journalctl -u etcd.service > logg.txt

Gör du förändringar, kör dessa kommando:

sudo systemctl daemon-reload

sudo systemctl restart etcd











[ Modified: Wednesday, 18 March 2020, 2:25 PM ]
 
Picture of Mats Johannesson
by Mats Johannesson - Tuesday, 17 March 2020, 1:51 PM
Anyone in the world

Miljö

Installation av HA-proxy


HA-proxy kommer att installeras på Easec-Linux7 (192.168.1.27/24).

 

Arbetsuppgift 1: Installera HA-proxy

1. Anslut till Easec-Linux7 och logga på som easec med lösenordet Pa$$w0rd.

sudo apt-get update

2. På Easec-Linux7 öppna terminalfönstret (ctrl+alt+t) och skriv in följande kommando och klicka på Enter, för att uppdatera referenser till arkiv:

 

                  sudo apt-get update 

Ange Pa$$w0rd som lösenord för sudo.

sudo apt-get install haproxy

3. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att installera HA-proxy:

                  sudo apt-get install haproxy


Arbetsuppgift 2: Konfigurera HA-proxy

1.     I terminalfönstret, skriv in följande kommando och klicka på Enter, för att konfigurera HA-proxy:

                 sudo nano /etc/haproxy/haproxy.cfg

sudo nano /etc/haproxy/haproxy.cfg

2. I fönstret med nano, gör förändringar i fetstil:

 

                 global

                 ...

                 default

                 ...

                 frontend kubernetes

                              bind 192.168.1.27:6443

                              option tcplog

                              mode tcp

                              default_backend kubernetes-master-nodes


                  backend kubernetes-master-nodes

                              mode tcp

                              balance roundrobin

                              option tcp-check

                              server easec-linux1 192.168.1.21:6443 check fall 3 rise 2

                              server easec-linux2 192.168.1.22:6443 check fall 3 rise 2

                              server easec-linux3 192.168.1.23:6443 check fall 3 rise 2

 

Klicka på ctrl+x, skriv in ett J och klicka på Enter för att spara filen.

sudo systemctl restart haproxy

2. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att starta om HA-proxy:

                             sudo systemctl restart haproxy






[ Modified: Tuesday, 17 March 2020, 2:13 PM ]
 
Anyone in the world


Miljö

Del 1: Klientverktyg


På klientdator kommer två verktyg att behövas installeras, Cloud Flare SSL för att generera de olika certifikat som behövs och kubectl för att hantera klustret. Dessa verktyg installeras på Easec-Linux8.

 

Arbetsuppgift 1: Installera cfssl

1. Anslut till Easec-Linux8 och logga på som easec med lösenordet Pa$$w0rd.


Installation av cfssl

2. På Easec-Linux8 öppna terminalfönstret (ctrl+alt+t) och skriv in följande kommando och klicka på Enter:

          wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 && wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64

3. I terminalfönstret skriv in följande kommando och klicka på Enter, för att sätta exekveringsrättigheter:

           chmod +x cfssl*

Flytt av binärer

4. I terminalfönstret skriv in följande kommando och klicka på Enter, för att flytta binärer till /usr/local/bin:

            sudo mv cfssl_linux-amd64 /usr/local/bin/cfssl

            Ange Pa$$w0rd som lösenord för sudo.

5. I terminalfönstret skriv in följande kommando och klicka på Enter, för att flytta binärer till /usr/local/bin:

             sudo mv cfssljson_linux-amd64 /usr/local/bin/cfssljson

cfssl version

6. I terminalfönstret skriv in följande kommando och klicka på Enter, för att verifiera installationen:

             cfssl version


Arbetsuppgift 2: Installera kubectl

Installera kubectl

1. I terminalfönstret skriv in följande kommando och klicka på Enter, för att ladda ner binärer för kubectl:

              wget https://storage.googleapis.com/kubernetes-release/release/v1.17.3/bin/linux/amd64/kubectl

 2. I terminalfönstret skriv in följande kommando och klicka på Enter, för att sätta exekveringsrättigheter:

              chmod +x kubectl*

3. I terminalfönstret skriv in följande kommando och klicka på Enter, för att flytta binärer till /usr/local/bin:

              sudo mv kubectl /usr/local/bin

kubectl version

4. I terminalfönstret skriv in följande kommando och klicka på Enter, för att verifiera installationen:

              kubectl version

              Felmeddelande om att verktyget inte kan ansluta till server, kan du ignorera. Det finns ingen server eller servrar i detta läge!


Del 2: Certifikat

Ett antal certifikat kommer att behöva genereras.

Arbetsuppgift 1: Skapa Certificate Authority och generera certifikat

Konfiguration av CA

1. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att skapa konfiguration för CA (Certificate Authority):

               nano ca-config.json

2. I fönstret med nano, skriv in följande:

               {

                   "signing": {

                      "default": {

                         "expiry": "8760h"

                       },

                       "profiles": {

                           "kubernetes": {

                               "usages": ["signing", "key encipherment", "server auth", "client auth"],

                               "expiry": "8760h"

                        }

                     }

                   }

                 }

Klicka på ctrl+x, skriv in ett J och klicka på Enter för att spara filen. 

nano ca-csr.json

3. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att skapa certifikatbegäran för CA:

                  nano ca-csr.json

4. I fönstret med nano, skriv in följande:

                  {

                     "CN": "Kubernetes",

                     "key": {

                     "algo": "rsa",

                     "size": 2048

                   },

                   "names": [

                   {

                      "C": "SE",

                      "L": "Lomma",

                      "O": "Kubernetes",

                      "OU": "CA",

                      "ST": "easec"

                     }

                   ]

                  }

 Klicka på ctrl+x, skriv in ett J och klicka på Enter för att spara filen.

cfssl gencert

5. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att skapa certifikat och privat nyckel:

                  cfssl gencert -initca ca-csr.json | cfssljson -bare ca

ls -la ca*

6. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att verifiera att ca-key.pem och ca.pem har blivit genererade:

                   ls -la ca*

7. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att skapa certifikatbegäran för etcd-kluster:

                   nano kubernetes-csr.json

nano kubernetes-csr.json

8. I fönstret med nano, skriv in följande:

                 {

                     "CN": "kubernetes",

                     "key": {

                     "algo": "rsa",

                     "size": 2048

                   },

                   "names": [

                   {

                      "C": "SE",

                      "L": "Lomma",

                      "O": "Kubernetes",

                      "OU": "Kubernetes",

                      "ST": "easec"

                     }

                   ]

                  }

 

Klicka på ctrl+x, skriv in ett J och klicka på Enter för att spara filen.


Arbetsuppgift 2: Skapa certifikat och privat nyckel

cfssl gencert

1. I terminalfönstret, skriv in följande kommando och klicka på Enter efter varje \ och efter sista raden:

                    cfssl gencert \

                    -ca=ca.pem \

                    -ca-key=ca-key.pem \

                    -config=ca-config.json \

                    -hostname=192.168.1.21,192.168.1.22,192.168.1.23, 192.168.1.27,127.0.0.1,kubernetes.default \

                    -profile=kubernetes kubernetes-csr.json | \

                    cfssljson -bare kubernetes

ls -la k*

2. I terminalfönstret, skriv in följande kommando och klicka på Enter, för att verifiera att kubernetes-key.pem och kubernetes.pem har skapats:

                     ls -la k*



[ Modified: Monday, 16 March 2020, 8:31 PM ]
 
Page: () 1 2 3 4 5 ()

  
RSS