เบเบงเบเปเบฎเบปเบฒเปเบเปเปเบงเบปเปเบฒเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบฅเปเบง
เบซเบเปเบฒเบชเบปเบเปเบ? เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเบฐเบฅเบธเบเบฒ, เบเบฒเบเปเบเปเบเบฒเบเบเบฑเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบญเบเบเปเบฒเบเปเบฅเบฐเบชเบฐเปเบเบเปเบซเปเบเปเบฒเบเปเบซเบฑเบเบเบธเบเบขเปเบฒเบ.
เปเบซเปเปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบเบเบปเบงเบขเปเบฒเบ
เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเบดเปเบเบเบฝเบเปเบเปเบชเปเบงเบเบซเบเบถเปเบเบเบญเบเบเบฒเบเบเปเบฒเบเบฒเบเบเบญเบเบเบฒเบฅเบฐเบเบปเบเบเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ. เปเบเบปเปเบฒเบชเบฒเบกเบฒเบเบเบญเบเบซเบฒเบเบณเบญเบฐเบเบดเบเบฒเบเบเบตเปเบชเบปเบกเบเบนเบเบเบญเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบฑเบเปเบปเบเบเบญเบเบกเบฑเบ เปเบฅเบฐเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเปเบญเบเบเปเปเบกเบนเบเปเบ
Tarantool Cartridge เบกเบต api
ะธ storage
, เปเบเบดเปเบเบชเบฒเบกเบฒเบเบเบทเบเบกเบญเบเบซเบกเบฒเบเปเบซเปเบเบปเบงเบขเปเบฒเบ.
Cartridge เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบเบเปเปเปเบเปเปเบงเบปเปเบฒเบซเบเบฑเบเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบฒเบเปเบเบตเบเบเบปเบงเบเบฐเบเบงเบเบเบฒเบ, เบกเบฑเบเบเบฝเบเปเบเปเบชเบฐเบซเบเบญเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบเปเบฒเบซเบเบปเบเบเปเบฒเบเบปเบงเบขเปเบฒเบเบเบตเปเปเบฅเปเบเปเบฅเปเบง. เบเบนเปเปเบเปเบเปเบญเบเปเบฎเบฑเบเบชเปเบงเบเบเบตเปเปเบซเบผเบทเบญเบเปเบงเบเบเบปเบเปเบญเบ: เบเบฑเบเปเบเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒ, เปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเปเบฅเบฐ configure topology. เปเบเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเปเปเบฎเบฑเบเบเบฑเบเบซเบกเบปเบเบเบตเป; Ansible เบเบฐเปเบฎเบฑเบเปเบเบทเปเบญเบเบงเบเปเบฎเบปเบฒ.
เบเบฒเบเบเปเบฒเปเบงเบปเปเบฒเปเบเบชเบนเปเบเบฒเบเบเบฐเบเปเบฒ
เบเบฑเปเบเบเบฑเปเบ, เปเบซเปเปเบเปเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฑเบเบชเบญเบเปเบเบทเปเบญเบ virtual เปเบฅเบฐเบเบฑเปเบเบเปเบฒ topology เบเปเบฒเบเป:
- เบเบธเบเบเบณเบฅเบญเบ
app-1
เบเบฐเบเบฐเบเบดเบเบฑเบเบเบฒเบฅเบฐเบเบปเบเบเบฒเบapi
, เปเบเบดเปเบเบเบฐเบเบญเบเบกเบตเบเบฒเบฅเบฐเบเบปเบเบเบฒเบvshard-router
. เบเบฐเบกเบตเบเบปเบงเบขเปเบฒเบเบเบฝเบงเบขเบนเปเบเบตเปเบเบตเป. - เบเบธเบเบเบณเบฅเบญเบ
storage-1
เบเบฐเบเบดเบเบฑเบเบเบฒเบฅเบฐเบเบปเบเบเบฒเบstorage
(เปเบฅเบฐเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบvshard-storage
), เปเบเบเบตเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเบตเปเบกเบชเบญเบเบเบปเบงเบขเปเบฒเบเบเบฒเบเปเบเบทเปเบญเบเบเบฑเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ.
เปเบเบทเปเบญเบเปเบฒเปเบเบตเบเบเบฒเบเบเบปเบงเบขเปเบฒเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบ
เบเบฒเบฅเบฐเบเบปเบเบเบฒเบเบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบเปเบกเปเบเบขเบนเปเปเบ
เปเบซเป clone repository เบเปเบงเบเบเบปเบงเบขเปเบฒเบ:
$ git clone https://github.com/dokshina/deploy-tarantool-cartridge-app.git
$ cd deploy-tarantool-cartridge-app && git checkout 1.0.0
เบเบงเบเปเบฎเบปเบฒเบเบปเบเปเบเบทเปเบญเบ virtual:
$ vagrant up
เบเบดเบเบเบฑเปเบ Tarantool Cartridge เบเบฒเบฅเบฐเบเบปเบเบเบฒเบ ansible:
$ ansible-galaxy install tarantool.cartridge,1.0.1
เปเบเบตเบเบเบปเบงเบเบปเบเบเบฒเบเบเบตเปเบเบดเบเบเบฑเปเบ:
$ ansible-playbook -i hosts.yml playbook.yml
เบเบงเบเปเบฎเบปเบฒเบฅเปเบเปเบฒ playbook เบชเปเบฒเปเบฅเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ, เปเบเบเบตเป
เบเปเบฒเบเบชเบฒเบกเบฒเบเบญเบฑเบเปเบซเบฅเบเบเปเปเบกเบนเบ. เปเบขเบฑเบ, เบชเบดเบ?
เบเบญเบเบเบตเปเปเบซเปเบเบงเบเปเบฎเบปเบฒเบเบดเบเบงเบดเบเบตเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบชเบดเปเบเบเบตเป, เปเบฅเบฐเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบเปเบเบตเปเบกเบเบธเบ replica เบญเบทเปเบเปเบซเปเบเบฑเบ topology.
เปเบซเปเปเบฅเบตเปเบกเบเบปเปเบเบเบตเปเบเบฐเบเบดเบเบญเบญเบ
เบเบฑเปเบเบเบฑเปเบเบชเบดเปเบเบเบตเปเปเบเบตเบเบเบถเปเบ?
เบเบงเบเปเบฎเบปเบฒเปเบเปเบเบฑเปเบเบชเบญเบเปเบเบทเปเบญเบเบชเบฐเปเปเบทเบญเบ เปเบฅเบฐเปเบเบตเบเปเบเบเบถเปเบกเบซเบผเบดเปเบเบเบตเปเบเปเปเบชเบฒเบกเบฒเบเบเบณเปเบเปเปเบเปเบเบตเปเบเบณเบเบปเบเบเปเบฒเบเบธเปเบกเบเบญเบเบเบงเบเปเบฎเบปเบฒ. เปเบซเปเปเบเบดเปเบเปเบเบทเปเบญเปเบเบเบญเบเปเบเบฅเป playbook.yml
:
---
- name: Deploy my Tarantool Cartridge app
hosts: all
become: true
become_user: root
tasks:
- name: Import Tarantool Cartridge role
import_role:
name: tarantool.cartridge
เบเปเปเบกเบตเบซเบเบฑเบเบเบตเปเบซเบเปเบฒเบชเบปเบเปเบเปเบเบตเบเบเบถเปเบเบขเบนเปเบเบตเปเบเบตเป, เปเบซเปเปเบเบตเบเบเบปเบงเบเบปเบเบเบฒเบเบเบตเปเปเบญเบตเปเบเบงเปเบฒ ansible tarantool.cartridge
.
เบชเบดเปเบเบเบตเปเบชเปเบฒเบเบฑเบเบเบตเปเบชเบธเบเบเบฑเบเบซเบกเบปเบ (เบเบท, เบเบฒเบเบเบฑเปเบเบเปเบฒเบเบธเปเบก) เปเบกเปเบเบขเบนเปเปเบ hosts.yml
:
---
all:
vars:
# common cluster variables
cartridge_app_name: getting-started-app
cartridge_package_path: ./getting-started-app-1.0.0-0.rpm # path to package
cartridge_cluster_cookie: app-default-cookie # cluster cookie
# common ssh options
ansible_ssh_private_key_file: ~/.vagrant.d/insecure_private_key
ansible_ssh_common_args: '-o IdentitiesOnly=yes -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'
# INSTANCES
hosts:
storage-1:
config:
advertise_uri: '172.19.0.2:3301'
http_port: 8181
app-1:
config:
advertise_uri: '172.19.0.3:3301'
http_port: 8182
storage-1-replica:
config:
advertise_uri: '172.19.0.3:3302'
http_port: 8183
children:
# GROUP INSTANCES BY MACHINES
host1:
vars:
# first machine connection options
ansible_host: 172.19.0.2
ansible_user: vagrant
hosts: # instances to be started on the first machine
storage-1:
host2:
vars:
# second machine connection options
ansible_host: 172.19.0.3
ansible_user: vagrant
hosts: # instances to be started on the second machine
app-1:
storage-1-replica:
# GROUP INSTANCES BY REPLICA SETS
replicaset_app_1:
vars: # replica set configuration
replicaset_alias: app-1
failover_priority:
- app-1 # leader
roles:
- 'api'
hosts: # replica set instances
app-1:
replicaset_storage_1:
vars: # replica set configuration
replicaset_alias: storage-1
weight: 3
failover_priority:
- storage-1 # leader
- storage-1-replica
roles:
- 'storage'
hosts: # replica set instances
storage-1:
storage-1-replica:
เบเบฑเบเบซเบกเบปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเปเบกเปเบเปเบเบทเปเบญเบฎเบฝเบเบฎเบนเปเบงเบดเบเบตเบเบฒเบเบเบฑเบเบเบฒเบ instances เปเบฅเบฐ replicasets เปเบเบเบเบฒเบเบเปเบฝเบเปเบเบเปเบเบทเปเบญเปเบเบเบญเบเปเบเบฅเปเบเบตเป. เบเปเปเปเบเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเบตเปเบกเบเบฒเบเบชเปเบงเบเปเบซเบกเปเปเบชเปเบกเบฑเบ. เปเบเบทเปเบญเบเปเปเปเบซเปเบชเบฑเบเบชเบปเบเบเปเบญเบเบเบตเปเบเบฐเปเบเบตเปเบกเบเบงเบเบกเบฑเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเบชเบฐเบเบฑเบเบชเบธเบเบเปเบฒเบเบเบญเบเปเบเบฅเปเบเบตเป, hosts.updated.yml
, เปเบเบดเปเบเบขเบนเปเปเบ repository เบเบปเบงเบขเปเบฒเบ.
เบเบฒเบเบเบฑเบเบเบฒเบเบเบปเบงเบขเปเบฒเบ
เปเบเปเบเบทเปเบญเบเปเบ Ansible, เปเบเปเบฅเบฐเบเบปเบงเบขเปเบฒเบเปเบกเปเบเปเบฎเบ (เบเปเปเบเบงเบเบชเบฑเบเบชเบปเบเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบเบฎเบฒเบเปเบง), i.e. เบเปเปเปเบเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบเบเบตเป Ansible เบเบฐเบเบฑเบเบเบฒเบ. เบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐเปเบเบปเปเบฒเบเบฒเบเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบเปเบฒเบเบปเบเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป (เปเบเบฑเปเบ: ansible_host
ะธ ansible_user
), เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบปเบงเบขเปเบฒเบ. เบฅเบฒเบเบฅเบฐเบญเบฝเบเบเบญเบเบเบปเบงเบขเปเบฒเบเปเบกเปเบเบขเบนเปเปเบเบเบฒเบ hosts
.
เปเบซเปเปเบเบดเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบปเบงเบขเปเบฒเบ storage-1
:
all:
vars:
...
# INSTANCES
hosts:
storage-1:
config:
advertise_uri: '172.19.0.2:3301'
http_port: 8181
...
เปเบเบเบปเบงเปเบ config
เบเบงเบเปเบฎเบปเบฒเบฅเบฐเบเบธเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเบปเบงเบขเปเบฒเบ - advertise URI
ะธ HTTP port
.
เบเปเบฒเบเบฅเบธเปเบกเบเบตเปเปเบกเปเบเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเบปเบงเบขเปเบฒเบ app-1
ะธ storage-1-replica
.
เบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบญเบ Ansible เบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐเบเบปเบงเบขเปเบฒเบ. เบกเบฑเบเปเบเบดเปเบเบเบทเบงเปเบฒเบชเบปเบกเปเบซเบเบชเบปเบกเบเบปเบเบเบตเปเบเบฐเบเบฑเบเบเบธเปเบกเบเบปเบงเบขเปเบฒเบเปเบเบปเปเบฒเปเบเปเบเบเบธเปเบกเปเบเบทเปเบญเบ virtual. เบชเปเบฒเบฅเบฑเบเบเบธเบเบเบฐเบชเบปเบเบเบตเป, เบเบปเบงเบขเปเบฒเบเบเบทเบเบฅเบงเบกเปเบเบปเปเบฒเปเบเบฑเบเบเบธเปเบก host1
ะธ host2
, เปเบฅเบฐเปเบเปเบเปเบฅเบฐเบเบธเปเบกเบขเบนเปเปเบเบเบฒเบ vars
เบเปเบฒเปเบกเปเบเบเบตเปเปเบซเปเปเบซเบฑเบ ansible_host
ะธ ansible_user
เบชเปเบฒเบฅเบฑเบเปเบเบทเปเบญเบ virtual เบซเบเบถเปเบ. เปเบฅเบฐเปเบเบเบฒเบ hosts
โ hosts (aka instances) เบเบตเปโเบฅเบงเบกโเบขเบนเปโเปเบโเบเบธเปเบกโเบเบตเปโ:
all:
vars:
...
hosts:
...
children:
# GROUP INSTANCES BY MACHINES
host1:
vars:
# first machine connection options
ansible_host: 172.19.0.2
ansible_user: vagrant
hosts: # instances to be started on the first machine
storage-1:
host2:
vars:
# second machine connection options
ansible_host: 172.19.0.3
ansible_user: vagrant
hosts: # instances to be started on the second machine
app-1:
storage-1-replica:
เบเบงเบเปเบฎเบปเบฒเปเบฅเบตเปเบกเบเปเบฝเบเปเบเบ hosts.yml
. เปเบซเปเปเบเบตเปเบกเบญเบตเบเบชเบญเบเบเบปเบงเบขเปเบฒเบ, storage-2-replica
เปเบเปเบเบทเปเบญเบ virtual เบเปเบฒเบญเบดเบเปเบฅเบฐ storage-2
เบเบตเบชเบญเบ:
all:
vars:
...
# INSTANCES
hosts:
...
storage-2: # <==
config:
advertise_uri: '172.19.0.3:3303'
http_port: 8184
storage-2-replica: # <==
config:
advertise_uri: '172.19.0.2:3302'
http_port: 8185
children:
# GROUP INSTANCES BY MACHINES
host1:
vars:
...
hosts: # instances to be started on the first machine
storage-1:
storage-2-replica: # <==
host2:
vars:
...
hosts: # instances to be started on the second machine
app-1:
storage-1-replica:
storage-2: # <==
...
เปเบเบตเบเบเบปเบงเบเบทเปเบกเบซเบผเบดเปเบเบเบตเปเบชเบฒเบกเบฒเบเปเบเปเปเบเป:
$ ansible-playbook -i hosts.yml
--limit storage-2,storage-2-replica
playbook.yml
เบเบฐเบฅเบธเบเบฒเบชเบฑเบเปเบเบเบเบฒเบเปเบฅเบทเบญเบ --limit
. เปเบเบทเปเบญเบเบเบฒเบเปเบเปเบฅเบฐ instance cluster เปเบเบฑเบเปเบเบปเปเบฒเบเบฒเบเปเบเปเบเบทเปเบญเบเปเบ Ansible, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบฅเบฐเบเบธเบขเปเบฒเบเบเบฑเบเปเบเบเบงเปเบฒ instances เปเบเบเบงเบเบเบทเบเบเบฑเปเบเบเปเบฒเปเบเปเบงเบฅเบฒเบเบตเปเบเบฐเบเบดเบเบฑเบ playbook.
เบเบฑเบเปเบเบเบตเป Web UI
เบเปเปเปเบซเปเบขเบธเบเบขเบนเปเบเบตเปเบเบฑเปเบเปเบฅเบฐเบเบฒเบเบเบธเปเบกเบเบญเบ topology เบเบปเปเบเบชเบฐเบเบฑเบ.
เบเบฒเบเบเบฑเบเบเบฒเบ Topology
เปเบซเปเบฅเบงเบกเบเบปเบงเบขเปเบฒเบเปเบซเบกเปเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเบปเปเบฒเปเบเปเบเบเบธเบ replica storage-2
. เบกเบฒเปเบเบตเปเบกเบเบธเปเบกเปเปเป replicaset_storage_2
เปเบฅเบฐเบญเบฐเบเบดเบเบฒเบเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบ replicaset เปเบเบเบปเบงเปเบเบเบญเบเบกเบฑเบเปเบเบเบเบฒเบเบเบฝเบเบเบฝเบเบเบฑเบ replicaset_storage_1
. เปเบเบเบฒเบ hosts
เปเบซเปเบเบงเบเปเบฎเบปเบฒเบเบตเปเบเบญเบเบงเปเบฒเบเบปเบงเบขเปเบฒเบเปเบเบเบฐเบเบทเบเบฅเบงเบกเบขเบนเปเปเบเบเบธเปเบกเบเบตเป (เบเบฑเปเบเปเบกเปเบ, เบเบธเบ replica เบเบญเบเบเบงเบเปเบฎเบปเบฒ):
---
all:
vars:
...
hosts:
...
children:
...
# GROUP INSTANCES BY REPLICA SETS
...
replicaset_storage_2: # <==
vars: # replicaset configuration
replicaset_alias: storage-2
weight: 2
failover_priority:
- storage-2
- storage-2-replica
roles:
- 'storage'
hosts: # replicaset instances
storage-2:
storage-2-replica:
เบกเบฒเปเบฅเบตเปเบกเบเบถเปเบกเบซเบผเบดเปเบเบญเบตเบเบเบฑเปเบ:
$ ansible-playbook -i hosts.yml
--limit replicaset_storage_2
--tags cartridge-replicasets
playbook.yml
เบเปเปเบเบฒเบเปเบฅเบทเบญเบ --limit
เปเบงเบฅเบฒเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบเบเบทเปเบเบญเบเบเบธเปเบกเบเบตเปเบเบปเบเบเบฑเบ replicaset เบเบญเบเบเบงเบเปเบฎเบปเบฒ.
เปเบซเปเบเบดเบเบฒเบฅเบฐเบเบฒเบเบฒเบเปเบฅเบทเบญเบ tags
.
เบเบฒเบฅเบฐเบเบปเบเบเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบดเบเบฑเบเบงเบฝเบเบเบฒเบเบเปเบฒเบเปเบเบฒเบกเบฅเปเบฒเบเบฑเบ, เปเบเบดเปเบเบเบทเบเบซเบกเบฒเบเบเปเบงเบเปเบเบฑเบเบเปเปเปเบเบเบตเป:
cartridge-instances
: เบเบฒเบเบเบฑเบเบเบฒเบเบเบปเบงเบขเปเบฒเบ (เบเบฒเบเบเบฑเปเบเบเปเบฒ, เบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบชเบฐเบกเบฒเบเบดเบ);cartridge-replicasets
: เบเบฒเบเบเบฑเบเบเบฒเบ topology (เบเบฒเบเบเบฑเบเบเบฒเบ replicaset เปเบฅเบฐเบเบฒเบเปเบเบเบเปเบฒเบเบเบฒเบงเบญเบ (expel) เบเบญเบ instances เบเบฒเบ cluster);cartridge-config
: เบเบฒเบเบเบฑเบเบเบฒเบเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเบญเบเบเบธเปเบกเบญเบทเปเบเป (vshard bootstrapping, เบฎเบนเบเปเบเบเบเบฒเบเบฅเบปเปเบกเปเบซเบผเบงเบญเบฑเบเบเบฐเปเบเบกเบฑเบ, เบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบญเบฐเบเบธเบเบฒเบเปเบฅเบฐเบเบฒเบเบเบฑเปเบเบเปเบฒเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ).
เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบฅเบฐเบเบธเปเบเปเบขเปเบฒเบเบเบฑเบเปเบเบเบงเปเบฒเบชเปเบงเบเปเบเบเบญเบเบงเบฝเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเปเบฎเบฑเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเบฒเบฅเบฐเบเบปเบเบเบฒเบเบเบฐเบเปเบฒเบกเบงเบฝเบเบเบฒเบเบชเปเบงเบเบเบตเปเปเบซเบผเบทเบญ. เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฝเบเปเบเปเบเบฑเบ topology, เบเบฑเปเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบเบปเบ cartridge-replicasets
.
เปเบซเปเบเบฐเปเบกเบตเบเบเบปเบเปเบเปเบฎเบฑเบเบเบญเบเบเบงเบฒเบกเบเบฐเบเบฒเบเบฒเบกเบเบญเบเบเบงเบเปเบฎเบปเบฒ. เบเบงเบโเปเบฎเบปเบฒโเบเบญเบโเบซเบฒ replicaset เปเบซเบกเปโเปเบ
เบฎเบท!
เบเบปเบเบฅเบญเบเบเบฒเบเบเปเบฝเบเปเบเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบญเบเบเบปเบงเบขเปเบฒเบ เปเบฅเบฐเบเบธเบเปเบเบเบเบณเบฅเบญเบ เปเบฅเบฐเปเบเบดเปเบเบงเปเบฒเบเบธเปเบก topology เบเปเบฝเบเปเบเบเปเบเบงเปเบ. เบเปเบฒเบเบชเบฒเบกเบฒเบเบฅเบญเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ, เปเบเบฑเปเบ:. memtx_memory
. เบเบฒเบฅเบฐเบเบปเบเบเบฒเบเบเบฐเบเบฐเบเบฒเบเบฒเบกเปเบฎเบฑเบเบชเบดเปเบเบเบตเปเปเบเบเบเปเปเบกเบตเบเบฒเบเบเบดเบเปเบเบตเบเบเบปเบงเบขเปเบฒเบเบเบทเบเปเบซเบกเปเปเบเบทเปเบญเบซเบผเบธเบเบเปเบญเบเบเบฒเบเบขเบธเบเปเบงเบฅเบฒเบเบตเปเปเบเบฑเบเปเบเปเบเปเบเบญเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบญเบเบเปเบฒเบ.
เบขเปเบฒเบฅเบทเบกเปเบฅเปเบ vagrant halt
เปเบเบทเปเบญเบขเบธเบเปเบเบทเปเบญเบ virtual เปเบกเบทเปเบญเบเปเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเบงเบเบกเบฑเบเปเบฅเปเบง.
เบกเบตเบซเบเบฑเบเบขเบนเปเบเบฒเบเปเบเปเบเปเบฒเบญเปเบญเบก?
เปเบเบเบตเปเบเบตเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเบเบญเบเบเปเบฒเบเปเบเบตเปเบกเปเบเบตเบกเบเปเบฝเบงเบเบฑเบเบชเบดเปเบเบเบตเปเปเบเปเปเบเบตเบเบเบถเปเบเบเบฒเบเปเบเป hood เบเบญเบเบเบปเบเบเบฒเบ ansible เปเบเปเบฅเบเบฐเบเบฒเบเบเบปเบเบฅเบญเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ.
เบฅเบญเบเปเบเบดเปเบเบเบฒเบเบเบณเปเบเปเบเปเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเปเบ Cartridge เปเบเบเบเบฑเปเบเบเบญเบ.
เบเบฒเบเบเบดเบเบเบฑเปเบเปเบเบฑเบเปเบเบฑเบเปเบฅเบฐเบเบปเบงเบขเปเบฒเบเปเบฅเบตเปเบกเบเบปเปเบ
เบเปเบฒเบญเบดเบเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบชเบปเปเบเบเบธเบเปเบซเปเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบฅเบฐเบเบดเบเบเบฑเปเบเบกเบฑเบ. เปเบเบเบฑเบเบเบธเบเบฑเบเบเบปเบเบเบฒเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเบธเบ RPM เปเบฅเบฐ DEB.
เบเปเปเปเบ, เบเบงเบเปเบฎเบปเบฒเปเบเบตเบเบเบปเบงเบเบปเบงเบขเปเบฒเบ. เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบกเปเบเบเปเบฒเบเบเบฒเบเบซเบผเบฒเบเบขเบนเปเบเบตเปเบเบตเป: เปเบเปเบฅเบฐเบเบปเบงเบขเปเบฒเบเปเบกเปเบเปเบเบเบเปเบฒเบเบซเบฒเบ systemd
- เบเบฒเบโเบเปโเบฅเบดโเบเบฒเบโ. เบเปเบญเบเบเบฐเบเบปเบเบเบปเบงเบขเปเบฒเบเปเบซเปเปเบเบปเปเบฒ:
$ systemctl start myapp@storage-1
เบเปเบฒเบชเบฑเปเบเบเบตเปเบเบฐเปเบเบตเบเบเบปเบงเบเบปเบงเบขเปเบฒเบ storage-1
apps myapp
. เบเบปเบงเบขเปเบฒเบเบเบตเปเปเบเบตเบเบเบปเบงเบเบฐเบเบญเบเบซเบฒเบเบญเบเบกเบฑเบ /etc/tarantool/conf.d/
. เบเบฑเบเบเบถเบเบเบปเบงเบขเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเปเบเปเปเบเบเปเบเป journald
.
เปเบเบฅเปเบซเบปเบงเปเปเบงเบ /etc/systemd/system/[email protected]
เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ systemd เบเบฐเบเบทเบเบเบฑเบเบชเบปเปเบเบเปเบญเบกเบเบฑเบเบเบธเบ.
Ansible เบกเบตเปเบกเบเบนเบเปเบเบเบปเบงเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบดเบเบเบฑเปเบเปเบเบฑเบเปเบเบฑเบเปเบฅเบฐเบเบฒเบเบเบธเปเบกเบเบญเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบฅเบฐเบเบปเบ; เบเบงเบเปเบฎเบปเบฒเบเปเปเปเบเปเบเบฐเบเบดเบเบชเบดเปเบเปเบซเบกเปเบขเบนเปเบเบตเปเบเบตเป.
เบเบฒเบเบเบฑเปเบเบเปเบฒ topology เบเบญเบเบเบธเปเบก
เบเบตเปเปเบกเปเบเบเปเบญเบเบเบตเปเบเบงเบฒเบกเบกเปเบงเบเปเบฅเบตเปเบกเบเบปเปเบ. เบเบปเบเบฅเบปเบ, เบกเบฑเบเบเบฐเปเบเบฑเบเปเบฅเบทเปเบญเบเปเบเบเบเบตเปเบเบฐเบฅเบปเบเบเบงเบเบเบฑเบเบเบปเบเบเบฒเบ Ansible เบเบดเปเบชเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบดเบเบเบฑเปเบเปเบเบฑเบเปเบเบฑเบเปเบฅเบฐเบเบฒเบเปเบฅเปเบ systemd
-services.
เบเปเบฒเบเบชเบฒเบกเบฒเบ configure เบเบธเปเบกเบเปเบงเบเบเบปเบเปเบญเบ:
- เบเบฒเบเปเบฅเบทเบญเบเบเปเบฒเบญเบดเบ: เปเบเบตเบ Web UI เปเบฅเบฐเบเบฅเบดเบเปเบชเปเบเบธเปเบกเบเปเบฒเบเป. เบกเบฑเบเบเปเบญเบเบเปเบฒเบเปเบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบฑเปเบเบเบฝเบงเบเบญเบเบซเบผเบฒเบเปเบเบปเบงเบขเปเบฒเบ.
- เบเบฒเบเปเบฅเบทเบญเบเบเบตเบชเบญเบ: เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเป GraphQl API. เปเบเบเบตเปเบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบ, เบเบปเบงเบขเปเบฒเบ, เบเบฝเบ script เปเบ Python.
- เบเบฒเบโเปเบฅเบทเบญเบโเบเบตโเบชเบฒเบก (เบชเปเบฒโเบฅเบฑเบโเบเบงเบฒเบกโเบเบฑเปเบโเปเบโเบเบตเปโเปเบเบฑเปเบกโเปเบเบโ)โ: เปเบโเบเบตเปโเปเบเบทเปเบญเบโเปเบกเปโเบเปเบฒเบโ, เบเบฒเบโเปเบเบทเปเบญเบกโเบเปเปโเบเบฑเบโเบซเบเบถเปเบโเปเบโเบเบปเบงโเบขเปเบฒเบโเบเบฒเบโเบเปเบฒโเปเบเปโ
tarantoolctl connect
เปเบฅเบฐเบเบฐเบเบดเบเบฑเบเบเบฒเบเบซเบกเบนเบเปเบเปเบเบตเปเบเปเบฒเปเบเบฑเบเบเบฑเบเบซเบกเบปเบเบเปเบงเบเปเบกเบเบนเบ Luacartridge
.
เบงเบฝเบเบเบฒเบเบเบปเปเบเบเปเบเบญเบ invention เบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบกเปเบเปเบเบทเปเบญเปเบฎเบฑเบเบขเปเบฒเบเปเบเปเบเบดเบเบเบตเป, เบเบฒเบเบชเปเบงเบเบเบตเปเบกเบตเบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบเบเบตเปเบชเบธเบเบเบญเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเบ.
Ansible เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเบเบฝเบเปเบกเบเบนเบเบเบญเบเบเปเบฒเบเปเบญเบเปเบฅเบฐเบเปเบฒเปเบเปเบกเบฑเบเปเบเบเบฒเบฅเบฐเบเบปเบเบเบฒเบ. เบเบปเบเบเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเปเปเบกเบเบนเบเบเบฑเปเบเบเปเบฒเบงเปเบเบทเปเบญเบเบฑเบเบเบฒเบเบญเบปเบเบเบฐเบเบญเบเบเบญเบเบเบธเปเบกเบเปเบฒเบเป.
เบกเบฑเบเปเบฎเบฑเบเบงเบฝเบเปเบเบงเปเบ? เบเปเบฒเบเบญเบฐเบเบดเบเบฒเบเบชเบฐเบเบฒเบเบฐเบเบตเปเบเปเบญเบเบเบฒเบเบเบญเบเบเบธเปเบกเบขเบนเปเปเบ config เบเบฐเบเบฒเบ, เปเบฅเบฐเบเบฒเบฅเบฐเบเบปเบเบเบฒเบเปเบซเปเปเบเปเบฅเบฐเปเบกเบเบนเบเบเบตเปเบกเบตเบเบฒเบเบชเปเบงเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบญเบเบเบปเบเปเบเบฑเบ input. เปเบกเบเบนเบเปเบเปเบฎเบฑเบเบชเบฐเบเบฒเบเบฐเบเบฑเบเบเบธเบเบฑเบเบเบญเบเบเบธเปเบก เปเบฅเบฐเบเบฝเบเบเบฝเบเบกเบฑเบเบเบฑเบเบชเบดเปเบเบเบตเปเปเบเปเบฎเบฑเบเปเบเบฑเบเบเบฒเบเบเปเบญเบเบเปเปเบกเบนเบ. เบเปเปเปเบ, เบฅเบฐเบซเบฑเบเบเบทเบเปเบเบตเบเบเบปเบงเบเปเบฒเบเบเบฑเบญเบเปเบเบฑเบเบเบญเบเบซเบเบถเปเบเปเบเบเบปเบงเบขเปเบฒเบ, เปเบเบดเปเบเบเปเบฒเบเบธเปเบกเปเบเบชเบนเปเบชเบฐเบเบฒเบเบฐเบเบตเปเบเปเบญเบเบเบฒเบ.
เบเบปเบเปเบเปเบฎเบฑเบ
เบกเบทเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเปเบเบญเบ เปเบฅเบฐเบชเบฐเปเบเบเบงเบดเบเบตเบเบฒเบเบเบณเปเบเปเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบญเบเบเปเบฒเบเปเบชเป Tarantool Cartridge เปเบฅเบฐเบเบฑเปเบเบเปเบฒ topology เบเปเบฒเบเป. เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒเปเบเปเปเบเป Ansible - เปเบเบทเปเบญเบเบกเบทเบเบตเปเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบตเปเบเปเบฒเบเบเปเปเบเบฒเบเปเบเปเปเบฅเบฐเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฑเปเบเบเปเบฒเบฅเบฐเบเบปเบเปเบเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบเบเปเบฒเบเบงเบเบซเบผเบฒเบเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ (เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเบปเบงเบขเปเบฒเบเบเบญเบเบเบธเปเบก).
เบเปเบฒเบเปเบเบดเบเบเบงเบเปเบฎเบปเบฒเปเบเปเปเบเบดเปเบเบซเบเบถเปเบเปเบเบซเบผเบฒเบเบงเบดเบเบตเบเบตเปเบเบฐเบญเบฐเบเบดเบเบฒเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบธเปเบกเปเบเบเปเบเป Ansible. เปเบกเบทเปเบญเบเปเบฒเบเบฎเบนเปเบชเบถเบเบงเปเบฒเบเปเบญเบกเบเบตเปเบเบฐเบเปเบฒเบงเบเปเปเปเบ, เบเบปเปเบเบซเบฒ group_vars
ะธ host_vars
.
เปเบงเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบญเบเบเปเบฒเบเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบฒเบเบฅเบถเบเบเบปเบงเบขเปเบฒเบเบเบฒเบงเบญเบ (เบเบฑเบเปเบฅเป) เบญเบญเบเบเบฒเบ topology, bootstrap vshard, เบเบฑเบเบเบฒเบเปเบซเบกเบเบเบฒเบเบฅเบปเปเบกเปเบซเบฅเบงเบญเบฑเบเบเบฐเปเบเบกเบฑเบ, เบเบฑเปเบเบเปเบฒเบเบฒเบเบญเบฐเบเบธเบเบฒเบเปเบฅเบฐ patch เบเบฒเบเบเบฑเปเบเบเปเบฒเบเบธเปเบก. เปเบเปเบงเบฅเบฒเบเบตเป, เบเปเบฒเบเบชเบฒเบกเบฒเบเบชเบถเบเบชเบฒเบเปเบงเบเบเบปเบเปเบญเบ
เบเปเบฒเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบเปเปเปเบเปเบเบปเบ, เปเบซเปเปเบเปเปเบเบงเปเบฒ
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com