未验证 提交 9f5a0d60 编写于 作者: J john-h-luo 提交者: GitHub

correct typo modify comment (#16492)

Signed-off-by: NJohn Luo <jiehua.luo@zilliz.com>
上级 fce8f6cf
[defaults]
host_key_checking = False
inventory = inventory.ini
private_key_file=~/.my_ssh_keys/gpc_sshkey
---
- name: setup pre-requisites #Install prerequisite
hosts: all
become: yes
become_user: root
roles:
- install-modules
- configure-hosts-file
- name: install docker
become: yes
become_user: root
hosts: dockernodes
roles:
- docker-installation
\ No newline at end of file
---
# Milvus dependent, before running this playbook, modify the Inventory to make sure
# correct IP address and Host name are in place.
- name: Create milvus-etcd, minio, pulsar
hosts: dependencies
become: yes
become_user: root
tags: docker
roles:
- deploy-etcd
- deploy-minio
- deploy-pulsar
# Deploy all 3 nodes on the same host can be benefitial from I/O optimized disk, and it's easier
# to have additional host running a set of milvus nodes.
- name: Create milvus nodes
hosts: nodes
become: yes
become_user: root
tags: docker
roles:
- deploy-datanode
- deploy-indexnode
- deploy-querynode
#Deploy all Coordinators and Proxy on the same host will reduce time to traffic on network.
- name: Create milvus coords
hosts: coords
become: yes
become_user: root
tags: docker
roles:
- deploy-rootcoord
- deploy-indexcoord
- deploy-datacoord
- deploy-querycoord
- deploy-proxy
[dockernodes]
dockernode01
dockernode02
dockernode03
[admin]
ansible-controller
[coords]
; Take note the IP of this host VM, and replace 10.170.0.17 with it.
dockernode01
[nodes]
dockernode02
[dependencies]
; dependencies node will host etcd, minio, pulsar, these 3 roles are the foundation of Milvus.
; Take note the IP of this host VM, and replace 10.170.0.19 with it.
dockernode03
[docker:children]
dockernodes
coords
nodes
dependencies
[docker:vars]
ansible_python_interpreter= /usr/bin/python3
StrictHostKeyChecking= no
; Setup variables to controll what type of network to use when creating containers.
dependencies_network= host
nodes_network= host
; Setup varibale to controll what version of Milvus image to use.
image= milvusdb/milvus-dev:master-20220412-4781db8a
; Setup static IP addresses of the docker hosts as variable for container environment variable config.
; Before running the playbook, below 4 IP addresses need to be replaced with the IP of your host VM
; on which the etcd, minio, pulsar, coordinators will be hosted.
etcd_ip= 10.170.0.19
minio_ip= 10.170.0.19
pulsar_ip= 10.170.0.19
coords_ip= 10.170.0.17
; Setup container environment which later will be used in container creation.
ETCD_ENDPOINTS= {{etcd_ip}}:2379
MINIO_ADDRESS= {{minio_ip}}:9000
PULSAR_ADDRESS= pulsar://{{pulsar_ip}}:6650
QUERY_COORD_ADDRESS= {{coords_ip}}:19531
DATA_COORD_ADDRESS= {{coords_ip}}:13333
ROOT_COORD_ADDRESS= {{coords_ip}}:53100
INDEX_COORD_ADDRESS= {{coords_ip}}:31000
---
- name: Configure Hosts File
lineinfile: path=/etc/hosts regexp='.*{{ item }}$' line="{{ hostvars[item].ansible_default_ipv4.address }} {{item}}" state=present
when: hostvars[item].ansible_default_ipv4.address is defined
with_items: "{{ groups['docker'] }}"
- name: datacoord
docker_container:
name: datacoord
image: "{{image}}"
command: ["milvus", "run", "datacoord"]
env:
ETCD_ENDPOINTS: "{{ETCD_ENDPOINTS}}"
MINIO_ADDRESS: "{{MINIO_ADDRESS}}"
PULSAR_ADDRESS: "{{PULSAR_ADDRESS}}"
DATA_COORD_ADDRESS: "{{DATA_COORD_ADDRESS}}"
METRICS_PORT: "9095"
network_mode: "{{nodes_network}}" #Use the network which defined as variable in Inventory.
\ No newline at end of file
- name: datanode
docker_container:
name: datanode
image: "{{image}}"
command: "milvus run datanode"
env:
ETCD_ENDPOINTS: "{{ETCD_ENDPOINTS}}"
MINIO_ADDRESS: "{{MINIO_ADDRESS}}"
PULSAR_ADDRESS: "{{PULSAR_ADDRESS}}"
METRICS_PORT: "9092"
network_mode: "{{nodes_network}}" #Use the network which defined as variable in Inventory.
\ No newline at end of file
- name: etcd
docker_container:
name: etcd
image: quay.io/coreos/etcd:v3.5.0
command: "etcd -listen-peer-urls=http://{{etcd_ip}}:2380 -advertise-client-urls=http://{{etcd_ip}}:2379 -listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 -initial-advertise-peer-urls=http://{{etcd_ip}}:2380 --listen-metrics-urls=http://{{etcd_ip}}:2381 --initial-cluster default=http://{{etcd_ip}}:2380 --data-dir /etcd"
healthcheck:
test: ["CMD", "wget", "-q", "--tries=1", "--spider", "http://etcd_ip:/health"]
interval: 30s
timeout: 20s
retries: 3
env:
ETCD_AUTO_COMPACTION_MODE: revision
ETCD_AUTO_COMPACTION_RETENTION: "1000"
ETCD_QUOTA_BACKEND_BYTES: "4294967296"
# volumes:
# - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcd
network_mode: "{{dependencies_network}}" #Use the network which defined as variable in Inventory.
\ No newline at end of file
- name: indexcoord
docker_container:
name: indexcoord
image: "{{image}}"
command: ["milvus", "run", "indexcoord"]
env:
ETCD_ENDPOINTS: "{{ETCD_ENDPOINTS}}"
MINIO_ADDRESS: "{{MINIO_ADDRESS}}"
PULSAR_ADDRESS: "{{PULSAR_ADDRESS}}"
INDEX_COORD_ADDRESS: "{{INDEX_COORD_ADDRESS}}"
METRICS_PORT: "9097"
network_mode: "{{nodes_network}}" #Use the network which defined as variable in Inventory.
\ No newline at end of file
- name: indexnode
docker_container:
name: indexnode
image: "{{image}}"
command: "milvus run indexnode"
env:
ETCD_ENDPOINTS: "{{ETCD_ENDPOINTS}}"
MINIO_ADDRESS: "{{MINIO_ADDRESS}}"
PULSAR_ADDRESS: "{{PULSAR_ADDRESS}}"
INDEX_COORD_ADDRESS: "{{INDEX_COORD_ADDRESS}}"
METRICS_PORT: "9093"
network_mode: "{{nodes_network}}" #Use the network which defined as variable in Inventory.
\ No newline at end of file
- name: "minio"
docker_container:
name: minio
image: minio/minio:RELEASE.2022-03-17T06-34-49Z
env:
MINIO_ACCESS_KEY: minioadmin
MINIO_SECRET_KEY: minioadmin
command: "minio server /minio_data"
# volumes:
# - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/minio:/minio_data
healthcheck:
test: ["CMD", "curl", "-f", "http://127.0.0.1:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
network_mode: "{{dependencies_network}}" #Use the network which defined as variable in Inventory.
\ No newline at end of file
- name: "proxy"
docker_container:
name: proxy
image: "{{image}}"
command: "milvus run proxy"
env:
ETCD_ENDPOINTS: "{{ETCD_ENDPOINTS}}"
MINIO_ADDRESS: "{{MINIO_ADDRESS}}"
PULSAR_ADDRESS: "{{PULSAR_ADDRESS}}"
METRICS_PORT: "9098"
network_mode: "{{nodes_network}}" #Use the network which defined as variable in Inventory.
- name: "pulsar"
docker_container:
name: pulsar
image: apachepulsar/pulsar:2.8.2
env:
# bin/apply-config-from-env.py script will modify the configuration file based on the environment variables
# nettyMaxFrameSizeBytes must be calculated from maxMessageSize + 10240 (padding)
nettyMaxFrameSizeBytes: "104867840" # this is 104857600 + 10240 (padding)
defaultRetentionTimeInMinutes: "10080"
defaultRetentionSizeInMB: "8192"
# maxMessageSize is missing from standalone.conf, must use PULSAR_PREFIX_ to get it configured
PULSAR_PREFIX_maxMessageSize: "104857600"
PULSAR_GC: -XX:+UseG1GC
command: "bin/pulsar standalone --no-functions-worker --no-stream-storage" #/bin/bash -c bin/apply-config-from-env.py conf/standalone.conf &&
network_mode: "{{dependencies_network}}" #Use the network which defined as variable in Inventory.
- name: querycoord
docker_container:
name: querycoord
image: "{{image}}"
command: "milvus run querycoord"
env:
ETCD_ENDPOINTS: "{{ETCD_ENDPOINTS}}"
MINIO_ADDRESS: "{{MINIO_ADDRESS}}"
PULSAR_ADDRESS: "{{PULSAR_ADDRESS}}"
QUERY_COORD_ADDRESS: "{{QUERY_COORD_ADDRESS}}"
METRICS_PORT: "9096"
network_mode: "{{nodes_network}}" #Use the network which defined as variable in Inventory.
\ No newline at end of file
- name: querynode
docker_container:
name: querynode
image: "{{image}}"
command: "milvus run querynode"
env:
ETCD_ENDPOINTS: "{{ETCD_ENDPOINTS}}"
MINIO_ADDRESS: "{{MINIO_ADDRESS}}"
PULSAR_ADDRESS: "{{PULSAR_ADDRESS}}"
METRICS_PORT: "9091"
network_mode: "{{nodes_network}}" #Use the network which defined as variable in Inventory.
\ No newline at end of file
- name: rootcoord
docker_container:
name: rootcoord
image: "{{image}}"
command: ["milvus", "run", "rootcoord"]
env:
ETCD_ENDPOINTS: "{{ETCD_ENDPOINTS}}"
MINIO_ADDRESS: "{{MINIO_ADDRESS}}"
PULSAR_ADDRESS: "{{PULSAR_ADDRESS}}"
QUERY_COORD_ADDRESS: "{{QUERY_COORD_ADDRESS}}"
METRICS_PORT: "9094"
network_mode: "{{nodes_network}}" #Use the network which defined as variable in Inventory.
---
- name: Install Docker Dependencies
apt: name={{ item }} state=latest update_cache=yes
with_items:
- apt-transport-https
- ca-certificates
- software-properties-common
tags: docker
- name: Get Docker key
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
state: present
tags: docker
- name: Add Docker packages to Repository
apt_repository:
repo: deb [arch=amd64] https://download.docker.com/linux/ubuntu {{ ansible_lsb.codename|lower }} stable
tags: docker
- name: Install Docker-CE
apt: name="docker-ce" state=latest update_cache=yes
tags: docker
- name: Install python3-docker
apt: name="python3-docker" state=latest update_cache=yes
tags: docker
- name: Install docker-compose python3 library
command: "pip3 install docker-compose"
---
- name: Install Packages
apt: name={{ item }} state=latest update_cache=yes
with_items:
- ntp
- python3
- tcpdump
- wget
- openssl
- curl
- python3-pip
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册