Difference between revisions of "Google Kubernetes Engine"
(→SDK init) |
(→Bejelentkezés és kubectl) |
||
Line 74: | Line 74: | ||
==Bejelentkezés és kubectl== | ==Bejelentkezés és kubectl== | ||
− | + | A gcloud bejelentkezési adatait a '''config list''' paranccsal lehet lekérni: | |
<pre> | <pre> | ||
# gcloud config list | # gcloud config list | ||
Line 87: | Line 87: | ||
+ | A '''config-helper''' paranccsal pedig a tokent is listázni lehet: | ||
<pre> | <pre> | ||
# gcloud config config-helper | # gcloud config config-helper | ||
Line 106: | Line 107: | ||
<br> | <br> | ||
===kubectl kontextus=== | ===kubectl kontextus=== | ||
− | A kubectl konfigurációs fájlja itt van: ~/.kube/config. Minikube esetében ez így néz ki: | + | A kubectl konfigurációs fájlja itt van: '''~/.kube/config'''. Minikube esetében ez így néz ki: |
<source lang="C++"> | <source lang="C++"> | ||
apiVersion: v1 | apiVersion: v1 | ||
Line 128: | Line 129: | ||
</source> | </source> | ||
− | Miden egyes kubectl parancs a kiválasztott kontextusban fut le. Minden kontextus tartalmaz egy klasztert és egy user-t, amivel végrehajtjuk a parancsokat a klaszteren. A current-context mutatja meg, hogy melyik kontextus van kiválasztva. | + | Miden egyes '''kubectl''' parancs a kiválasztott kontextusban fut le. Minden kontextus tartalmaz egy klasztert és egy user-t, amivel végrehajtjuk a parancsokat a klaszteren. A '''current-context''' mutatja meg, hogy melyik kontextus van kiválasztva. |
− | Mikor létrehozunk egy cluster-t a '''gcloud containter cluster''' paranccsal, akkor a gcloud automatikusan hozzáad egy új kontextust a .kube/config fájlhoz: | + | Mikor létrehozunk egy cluster-t a '''gcloud containter cluster''' paranccsal, akkor a gcloud automatikusan hozzáad egy új kontextust a '''.kube/config''' fájlhoz: |
<pre> | <pre> | ||
# gcloud container clusters | # gcloud container clusters | ||
Line 143: | Line 144: | ||
gke_adamproject1_europe-west6_adam1 | gke_adamproject1_europe-west6_adam1 | ||
</pre> | </pre> | ||
+ | Láthatjuk, hogy a gcloud átállította a kontextust a GKE klaszerünkre. | ||
És most nézzük bele a config fájlba: | És most nézzük bele a config fájlba: |
Revision as of 19:17, 24 June 2019
Contents
Regisztráció a Google Cloud Platform-ban
https://console.cloud.google.com
Kubernetes Engine API aktiválása a projektben:
Majd a keresőbe írjuk be, hogy Kubernetes. Ekkor bejön
Kattintsunk az Enable-re.
...
A baloldali fő menüben megjelent a Kubernetes Engine menüpont:
Google Cloud SDK beállítása
SDK install
Vegyük fel az új DNF repository-t:
# sudo tee -a /etc/yum.repos.d/google-cloud-sdk.repo << EOM [google-cloud-sdk] name=Google Cloud SDK baseurl=https://packages.cloud.google.com/yum/repos/cloud-sdk-el7-x86_64 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 EOM
Installáljuk fel
# dnf install google-cloud-sdk ...
SDK init
Inicializáljuk az sdk-t. Ez meg fog nyitni a root nevében futó böngészőt, ahol be kell jelentkezni a google account-ba.
# gcloud init .. You must log in to continue. Would you like to log in (Y/n)? ...
Harmadik lépésként létre kell hozni egy projektet:
# gcloud projects create adamproject1 Create in progress for [https://cloudresourcemanager.googleapis.com/v1/projects/adamproject1].
# gcloud projects list PROJECT_ID NAME PROJECT_NUMBER adamproject1 adamproject1 206600067398
Válasszuk ki az új projektet
# gcloud config set project adamproject1
- az új projektet hozzá kell rendeli egy billing account-hoz (amihez a bankszámlát beállítottuk
- be kell rajta kapcsolni a Kubernetes Engine API-t.
https://console.cloud.google.com/apis/library/container.googleapis.com?project=adamproject1
Bejelentkezés és kubectl
A gcloud bejelentkezési adatait a config list paranccsal lehet lekérni:
# gcloud config list [core] account = myemail@gmail.com disable_usage_reporting = True project = adamproject1 Your active configuration is: [default]
A disable_usage_reporting anonim adatokat küld a Google-nek, nem a projekthez kapcsolódik.
A config-helper paranccsal pedig a tokent is listázni lehet:
# gcloud config config-helper configuration: active_configuration: default properties: core: account: myemail@gmail.com disable_usage_reporting: 'True' project: adamproject1 credential: access_token: XXXXX id_token: YYYY token_expiry: '2019-06-22T08:43:33Z' sentinels: config_sentinel: /root/.config/gcloud/config_sentinel
kubectl kontextus
A kubectl konfigurációs fájlja itt van: ~/.kube/config. Minikube esetében ez így néz ki:
apiVersion: v1
kind: Config
clusters:
- cluster:
certificate-authority: /root/.minikube/ca.crt
server: https://192.168.42.224:8443
name: minikube
contexts:
preferences: {}
users:
- name: minikube
user:
client-certificate: /root/.minikube/client.crt
client-key: /root/.minikube/client.key
- context:
cluster: minikube
user: minikube
name: minikube
Miden egyes kubectl parancs a kiválasztott kontextusban fut le. Minden kontextus tartalmaz egy klasztert és egy user-t, amivel végrehajtjuk a parancsokat a klaszteren. A current-context mutatja meg, hogy melyik kontextus van kiválasztva.
Mikor létrehozunk egy cluster-t a gcloud containter cluster paranccsal, akkor a gcloud automatikusan hozzáad egy új kontextust a .kube/config fájlhoz:
# gcloud container clusters ... kubeconfig entry generated for adam1.
Nézzük meg a kontextust:
# kubectl config current-context gke_adamproject1_europe-west6_adam1
Láthatjuk, hogy a gcloud átállította a kontextust a GKE klaszerünkre.
És most nézzük bele a config fájlba:
apiVersion: v1
kind: Config
clusters:
- cluster:
certificate-authority-data: DATA+OMITTED
server: https://34.65.220.36
name: gke_adamproject1_europe-west6_adam1
- cluster:
certificate-authority: /root/.minikube/ca.crt
server: https://192.168.42.224:8443
name: minikube
contexts:
- context:
cluster: gke_adamproject1_europe-west6_adam1
user: gke_adamproject1_europe-west6_adam1
name: gke_adamproject1_europe-west6_adam1
- context:
cluster: minikube
user: minikube
name: minikube
current-context: gke_adamproject1_europe-west6_adam1
preferences: {}
users:
- name: gke_adamproject1_europe-west6_adam1
user:
auth-provider:
config:
cmd-args: config config-helper --format=json
cmd-path: /usr/lib64/google-cloud-sdk/bin/gcloud
expiry-key: '{.credential.token_expiry}'
token-key: '{.credential.access_token}'
name: gcp
- name: minikube
user:
client-certificate: /root/.minikube/client.crt
client-key: /root/.minikube/client.key
Ahhoz hogy visszaváltsunk a minikube kontextusra, csak ki kell adni config use-context parancsot.
# kubectl config use-context minikube Switched to context "minikube".
Note
Ha kitöröljük a GKE klasztert a gcloud container clusters delete paranccsal, akkor a kubernetes config fájlból is ki fogja törölni a bejegyzést.
Klaszter létrehozás
gcloud container clusters \ create adam1 \ --region europe-west6 \ --node-locations europe-west6-a,europe-west6-b,europe-west6-c, \ --machine-type n1-standard-1 \ --enable-autoscaling \ --num-nodes 1 \ --max-nodes 3 \ --min-nodes 1
To inspect the contents of your cluster, go to: https://console.cloud.google.com/kubernetes/workload_/gcloud/europe-west6/adam1?project=adamproject1 kubeconfig entry generated for adam1. NAME LOCATION MASTER_VERSION MASTER_IP MACHINE_TYPE NODE_VERSION NUM_NODES STATUS adam1 europe-west6 1.12.8-gke.10 34.65.149.13 n1-standard-1 1.12.8-gke.10 3 RUNNING
Menjünk a Kubernetes Engine felületre, és itt válasszuk a Cluster menüpontot: https://console.cloud.google.com/kubernetes
# kubectl get nodes NAME STATUS ROLES AGE VERSION gke-adam1-default-pool-b9ed6fb1-d955 Ready <none> 2m11s v1.12.8-gke.10 gke-adam1-default-pool-c1ab468d-slqn Ready <none> 2m8s v1.12.8-gke.10 gke-adam1-default-pool-e3b15f3f-98dl Ready <none> 2m7s v1.12.8-gke.10
# gcloud container clusters delete adam1 --region europe-west6 The following clusters will be deleted. - [adam1] in [europe-west6] Do you want to continue (Y/n)? Y