zeus
3 years ago
3 changed files with 183 additions and 0 deletions
@ -0,0 +1,181 @@ |
|||
= Deploy |
|||
|
|||
== Create Yaml file |
|||
|
|||
.docker-compose |
|||
[source,yaml] |
|||
---- |
|||
services: |
|||
minio1: //<1> |
|||
image: minio/minio:RELEASE.2020-04-10T03-34-42Z //<2> |
|||
hostname: minio1 |
|||
volumes: |
|||
- minio1-data:/export //<3> |
|||
ports: |
|||
- "9001:9000" //<4> |
|||
networks: |
|||
- minio_distributed //<5> |
|||
deploy: |
|||
restart_policy: |
|||
delay: 10s |
|||
max_attempts: 10 |
|||
window: 60s |
|||
placement: |
|||
constraints: |
|||
- node.labels.minio1==true //<6> |
|||
command: server http://minio{1...4}/export //<7> |
|||
secrets: //<8> |
|||
- secret_key |
|||
- access_key |
|||
healthcheck: |
|||
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] //<9> |
|||
interval: 30s |
|||
timeout: 20s |
|||
retries: 3 |
|||
|
|||
minio2: //<10> |
|||
image: minio/minio:RELEASE.2020-04-10T03-34-42Z |
|||
hostname: minio2 //<10> |
|||
volumes: |
|||
- minio2-data:/export //<11> |
|||
ports: |
|||
- "9002:9000" //<12> |
|||
networks: |
|||
- minio_distributed //<5> |
|||
deploy: |
|||
restart_policy: |
|||
delay: 10s |
|||
max_attempts: 10 |
|||
window: 60s |
|||
placement: |
|||
constraints: |
|||
- node.labels.minio2==true //<13> |
|||
command: server http://minio{1...4}/export |
|||
secrets: |
|||
- secret_key |
|||
- access_key |
|||
healthcheck: |
|||
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] |
|||
interval: 30s |
|||
timeout: 20s |
|||
retries: 3 |
|||
|
|||
minio3: |
|||
image: minio/minio:RELEASE.2020-04-10T03-34-42Z |
|||
hostname: minio3 |
|||
volumes: |
|||
- minio3-data:/export |
|||
ports: |
|||
- "9003:9000" |
|||
networks: |
|||
- minio_distributed //<5> |
|||
deploy: |
|||
restart_policy: |
|||
delay: 10s |
|||
max_attempts: 10 |
|||
window: 60s |
|||
placement: |
|||
constraints: |
|||
- node.labels.minio3==true |
|||
command: server http://minio{1...4}/export |
|||
secrets: |
|||
- secret_key |
|||
- access_key |
|||
healthcheck: |
|||
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] |
|||
interval: 30s |
|||
timeout: 20s |
|||
retries: 3 |
|||
|
|||
minio4: |
|||
image: minio/minio:RELEASE.2020-04-10T03-34-42Z |
|||
hostname: minio4 |
|||
volumes: |
|||
- minio4-data:/export |
|||
ports: |
|||
- "9004:9000" |
|||
networks: |
|||
- minio_distributed //<5> |
|||
deploy: |
|||
restart_policy: |
|||
delay: 10s |
|||
max_attempts: 10 |
|||
window: 60s |
|||
placement: |
|||
constraints: |
|||
- node.labels.minio4==true |
|||
command: server http://minio{1...4}/export |
|||
secrets: |
|||
- secret_key |
|||
- access_key |
|||
healthcheck: |
|||
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] |
|||
interval: 30s |
|||
timeout: 20s |
|||
retries: 3 |
|||
|
|||
web: |
|||
image: nginx:1.17.9-alpine |
|||
deploy: |
|||
mode: replicated |
|||
restart_policy: |
|||
delay: 10s |
|||
max_attempts: 10 |
|||
window: 60s |
|||
replicas: 2 |
|||
placement: |
|||
max_replicas_per_node: 1 |
|||
constraints: |
|||
- node.labels.group==minio //<14> |
|||
ports: |
|||
- "8080:80" |
|||
- "9443:443" |
|||
volumes: //<15> |
|||
- /PATH_to_FILE/minio.conf:/etc/nginx/conf.d/default.conf //<16> |
|||
- /PATH_to_FILE/public.crt:/etc/nginx/public.crt //<17> |
|||
- /PATH_to_FILE/private.key:/etc/nginx/private.key //<17> |
|||
networks: |
|||
- minio_distributed //<5> |
|||
|
|||
|
|||
volumes: |
|||
minio1-data: |
|||
|
|||
minio2-data: |
|||
|
|||
minio3-data: |
|||
|
|||
minio4-data: |
|||
|
|||
|
|||
networks: |
|||
minio_distributed: //<5> |
|||
driver: overlay |
|||
|
|||
secrets: |
|||
secret_key: |
|||
external: true |
|||
access_key: |
|||
external: true |
|||
|
|||
---- |
|||
<1> Service name |
|||
<2> Image name |
|||
<3> Volume to Use |
|||
<4> Expose port |
|||
<5> Network to Use |
|||
<6> Node Placement |
|||
<7> Start server |
|||
<8> insert secrets |
|||
<9> health check command |
|||
<10> *NEW* Service name |
|||
<11> *NEW* Volume |
|||
<12> *NEW* Port |
|||
<13> *NEW* Label |
|||
<14> Node Placement (Proxy) |
|||
<15> Bind mount config files |
|||
<16> Nginx config file |
|||
<17> ssl keys |
|||
|
|||
|
|||
|
Loading…
Reference in new issue