Облачная экосистема. Евгений Сергеевич Штольц

Чтение книги онлайн.

Читать онлайн книгу Облачная экосистема - Евгений Сергеевич Штольц страница 3

Облачная экосистема - Евгений Сергеевич Штольц

Скачать книгу

info | grep Account | grep -P -o '\[\C+\]' | sed 's/\[//' | sed 's/\]//')

      clusterrolebinding.rbac.authorization.Kubernetes.io/dev_essch-cluster-admin-binding created

      dev_essch@cloudshell:~ (cockroachdb-1)$ kubectl describe \

      clusterrolebinding.rbac.authorization.Kubernetes.io/dev_essch-cluster-admin-binding

      Name: dev_essch-cluster-admin-binding

      Labels: < none>

      Annotations: < none>

      Role:

      Kind: ClusterRole

      Name: cluster-admin

      Subjects:

      Kind Name Namespace

      –– – –

      User [email protected]

      Используя сервис, мы можем подсоединиться к любому инстанцу базы данных и проверить его работу с помощью примера из документации. Создадим временный под для подключения к нему:

      dev_essch@cloudshell:~ (cockroachdb-1)$ kubectl get svc

      NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)

      cockroachdb ClusterIP None < none> 26257/TCP,8080/TCP

      cockroachdb-public ClusterIP 10.31.250.213 < none> 26257/TCP,8080/TCP

      kubernetes ClusterIP 10.31.240.1 < none> 443/TCP

      Теперь, мы может запустить контейнер с базой дынных. Команда состоит из двух частей: создание контейнера и команды, выполняемой при его старте, разделённые "–"

      dev_essch@cloudshell:~ (cockroachdb-1)$ kubectl run cockroachdb -it \

      –-image=cockroachdb/cockroach:v19.2.7 \

      –-rm \

      –-restart=Never \

      –– sql –insecure –host=cockroachdb-public

      root@cockroachdb-public:26257/defaultdb> CREATE DATABASE test;

      CREATE DATABASE

      Time: 34.273044ms

      root@cockroachdb-public:26257/defaultdb> CREATE TABLE test.accounts (

      id UUID PRIMARY KEY DEFAULT gen_random_uuid(),

      balance DECIMAL

      );

      CREATE TABLE

      Time: 29.327958ms

      root@cockroachdb-public:26257/defaultdb> INSERT INTO test.accounts (balance)

      VALUES

      (1000.50), (20000), (380), (500), (55000);

      INSERT 5

      Time: 22.540767ms

      root@cockroachdb-public:26257/defaultdb> SELECT * FROM test.accounts;

      id | balance

      +–+–+

      405a6d86-a4e4-4a45-92b5-cd009cbfe5c1 | 20000

      6af6fca8-cf8e-4e6f-a89b-839c45bdbbb7 | 380

      6ee4c045-caaa-4954-acb9-af3e9a109e25 | 55000

      719c99f5-fb1a-48a5-b233-c8027236dab7 | 1000.50

      d658e9ef-520a-4551-9dad-16ad1ded0f48 | 500

      (5 rows)

      Time: 2.696122ms

      root@cockroachdb-public:26257/defaultdb>exit

      Теперь наша база данных работает и наполнена тестовыми результатами. Эти результаты можно посмотреть в админке. В документации демонстрируется проброс порта, но мы таки образом не получаем IP-адрес и годится только для тестов:

      dev_essch@cloudshell:~ (cockroachdb-1)$ kubectl port-forward cockroachdb-0 8080 &

      [1] 386

      dev_essch@cloudshell:~ (cockroachdb-1)$ Forwarding from 127.0.0.1:8080 -> 8080

      dev_essch@cloudshell:~ (cockroachdb-1)$ curl 127.0.0.1:8080 | grep '.js'

      Handling connection for 8080

      < script src="protos.dll.js" type="text/javascript">< /script>

      < script src="vendor.dll.js" type="text/javascript">< /script>

      < script src="bundle.js" type="text/javascript">< /script>

      dev_essch@cloudshell:~ (cockroachdb-1)$ kill -9 %1

      dev_essch@cloudshell:~ (cockroachdb-1)$ curl 127.0.0.1:8080

      curl: (7) Failed to connect to 127.0.0.1 port 8080: Connection refused

      [1]+ Killed kubectl port-forward cockroachdb-0 8080

      Чтобы открыть доступ к сервису, нужно изменить его тип на LoadBalancer и через минуту появится внешний IP-адрес. Тем самым мы отвяжемся от IP-адреса машины, который может изменить при переезде виртуальные машины с одной машины на другую, к IP-адресу балансировщика. IP-адрес не меняется, тем самым его можно связать с внешним IP-адресом, доступным из интернета, что и делает платформа автоматически:

      Конец ознакомительного фрагмента.

      Текст предоставлен ООО «ЛитРес».

      Прочитайте эту книгу

Скачать книгу