IT Cloud. Eugeny Shtoltc
Чтение книги онлайн.

Читать онлайн книгу IT Cloud - Eugeny Shtoltc страница 41

СКАЧАТЬ perform the actions described above.

      Only 'yes' will be accepted to approve.

      Enter a value: yes

      google_compute_instance.cluster: Creating …

      google_compute_instance.cluster: Still creating … [10s elapsed]

      google_compute_instance.cluster: Creation complete after 11s [id = cluster]

      Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

      Add a public static IP address and SSH key to the node:

      essh @ kubernetes-master: ~ / node-cluster $ ssh-keygen -f node-cluster

      Generating public / private rsa key pair.

      Enter passphrase (empty for no passphrase):

      Enter same passphrase again:

      Your identification has been saved in node-cluster.

      Your public key has been saved in node-cluster.pub.

      The key fingerprint is:

      SHA256: vUhDe7FOzykE5BSLOIhE7Xt9o + AwgM4ZKOCW4nsLG58 essh @ kubernetes-master

      The key's randomart image is:

      + – [RSA 2048] – +

      | .o. +. |

      | o. o. =. |

      | * + o. =. |

      | = *. … ... + o |

      | B +. … S * |

      | = + oo X +. |

      | o. =. + = + |

      | . = .... … |

      | ..E. |

      + – [SHA256] – +

      essh @ kubernetes-master: ~ / node-cluster $ ls node-cluster.pub

      node-cluster.pub

      essh @ kubernetes-master: ~ / node-cluster $ cat main.tf

      provider "google" {

      credentials = "$ {file (" kubernetes_key.json ")}"

      project = "node-cluster-243923"

      region = "europe-north1"

      }

      resource "google_compute_address" "static-ip-address" {

      name = "static-ip-address"

      }

      resource "google_compute_instance" "cluster" {

      name = "cluster"

      zone = "europe-north1-a"

      machine_type = "f1-micro"

      boot_disk {

      initialize_params {

      image = "debian-cloud / debian-9"

      }

      }

      metadata = {

      ssh-keys = "essh: $ {file (" ./ node-cluster.pub ")}"

      }

      network_interface {

      network = "default"

      access_config {

      nat_ip = "$ {google_compute_address.static-ip-address.address}"

      }

      }

      } essh @ kubernetes-master: ~ / node-cluster $ sudo ./terraform apply

      Let's check the SSH connection to the server:

      essh @ kubernetes-master: ~ / node-cluster $ ssh -i ./node-cluster [email protected]

      The authenticity of host '35 .228.82.222 (35.228.82.222) 'can't be established.

      ECDSA key fingerprint is SHA256: o7ykujZp46IF + eu7SaIwXOlRRApiTY1YtXQzsGwO18A.

      Are you sure you want to continue connecting (yes / no)? yes

      Warning: Permanently added '35 .228.82.222 '(ECDSA) to the list of known hosts.

      Linux cluster 4.9.0-9-amd64 # 1 SMP Debian 4.9.168-1 + deb9u2 (2019-05-13) x86_64

      The programs included with the Debian GNU / Linux system are free software;

      the exact distribution terms for each program are described in the

      individual files in / usr / share / doc / * / copyright.

      Debian GNU / Linux comes with ABSOLUTELY NO WARRANTY, to the extent

      permitted by applicable law.

      essh @ cluster: ~ $ ls

      essh @ cluster: ~ $ exit

      logout

      Connection to 35.228.82.222 closed.

      Install packages:

      essh @ kubernetes-master: ~ / node-cluster $ curl https://sdk.cloud.google.com | bash

      essh @ kubernetes-master: ~ / node-cluster $ exec -l $ SHELL

      essh @ kubernetes-master: ~ / node-cluster $ gcloud init

      Let's choose a project:

      You are logged in as: [[email protected]].

      Pick cloud project to use:

      [1] agile-aleph-203917

      [2] node-cluster-243923

      [3] essch

      [4] Create a new project

      Please enter numeric choice or text value (must exactly match list

      item):

      Please enter a value between 1 and 4, or a value present in the list: 2

      Your current project has been set to: [node-cluster-243923].

      Let's choose a zone:

      [50] europe-north1-a

      Did not print [12] options.

      Too many options [62]. Enter "list" at prompt to print choices fully.

      Please enter numeric choice or text value (must exactly match list

      item):

      Please enter a value between 1 and 62, or a value present in the list: 50

СКАЧАТЬ