MinIO - 17. 페더레이션(연합) 빠른 시작 가이드

목록

Federation Quickstart Guide

페더레이션(연합) 빠른 시작 가이드

This document explains how to configure MinIO with Bucket lookup from DNS style federation.

이 문서에서는 DNS 스타일 페더레이션의 버킷 조회로 MinIO를 구성하는 방법을 설명합니다.

Get started

시작합니다

1. Prerequisites

1. 전제조건

Install MinIO - MinIO Quickstart Guide.

MinIO 설치 - MinIO 빠른 시작 가이드.

2. Run MinIO in federated mode

2. 페더레이션 모드에서 MinIO 실행

Bucket lookup from DNS federation requires two dependencies

DNS 페더레이션의 버킷 조회에는 두 가지 종속성이 필요합니다

etcd (for bucket DNS service records)

etcd (버킷 DNS 서비스 레코드용)

CoreDNS (for DNS management based on populated bucket DNS service records, optional)

CoreDNS (채워진 버킷 DNS 서비스 레코드를 기반으로 하는 DNS 관리용, 선택 사항)

Architecture

아키텍처

Environment variables

환경 변수

MINIO_ETCD_ENDPOINTS

MINIO_ETCD_ENDPOINTS

This is comma separated list of etcd servers that you want to use as the MinIO federation back-end.

이는 MinIO 페더레이션 백엔드로 사용하려는 etcd 서버의 쉼표로 구분된 목록입니다.

This should be same across the federated deployment, i.e. all the MinIO instances within a federated deployment should use same etcd back-end.

이는 연합 배포 전체에서 동일해야 합니다. 즉 연합 배포 내의 모든 MinIO 인스턴스는 동일한 etcd 백엔드를 사용해야 합니다.

MINIO_DOMAIN

MINIO_DOMAIN

This is the top level domain name used for the federated setup.

이는 페더레이션 설정에 사용되는 최상위 도메인 이름입니다.

This domain name should ideally resolve to a load-balancer running in front of all the federated MinIO instances. The domain name is used to create sub domain entries to etcd.

이 도메인 이름은 이상적으로 모든 연합된 MinIO 인스턴스 앞에서 실행되는 로드 밸런서로 확인되어야 합니다. 도메인 이름은 etcd에 대한 하위 도메인 항목을 생성하는 데 사용됩니다.

For example, if the domain is set to domain.com, the buckets bucket1, bucket2 will be accessible as bucket1.domain.com and bucket2.domain.com.

예를 들어 도메인이 domain.com으로 설정된 경우 bucket1, bucket2 버킷은 bucket1.domain.com 및 bucket2.domain.com으로 액세스할 수 있습니다.

MINIO_PUBLIC_IPS

MINIO_PUBLIC_IPS

This is comma separated list of IP addresses to which buckets created on this MinIO instance will resolve to.

이는 이 MinIO 인스턴스에 생성된 버킷이 확인될 IP 주소의 쉼표로 구분된 목록입니다.

For example, a bucket bucket1 created on current MinIO instance will be accessible as bucket1.domain.com, and the DNS entry for bucket1.domain.com will point to IP address set in MINIO_PUBLIC_IPS.

예를 들어 현재 MinIO 인스턴스에서 생성된 버킷 bucket1은 bucket1.domain.com으로 액세스할 수 있으며 bucket1.domain.com에 대한 DNS 항목은 MINIO_PUBLIC_IPS에 설정된 IP 주소를 가리킵니다.

Note

메모

This field is mandatory for standalone and erasure code MinIO server deployments, to enable federated mode.

이 필드는 연합 모드를 활성화하기 위해 독립형 및 삭제 코드 MinIO 서버 배포에 필수적입니다.

This field is optional for distributed deployments. If you don't set this field in a federated setup, we use the IP addresses of hosts passed to the MinIO server startup and use them for DNS entries.

이 필드는 분산 배포의 경우 선택 사항입니다. 연합 설정에서 이 필드를 설정하지 않으면 MinIO 서버 시작에 전달된 호스트의 IP 주소를 사용하고 이를 DNS 항목에 사용합니다.

Run Multiple Clusters

다중 클러스터 실행

cluster1

클러스터1

export MINIO_ETCD_ENDPOINTS="http://remote-etcd1:2379,http://remote-etcd2:4001" export MINIO_DOMAIN=domain.com export MINIO_PUBLIC_IPS=44.35.2.1,44.35.2.2,44.35.2.3,44.35.2.4 minio server http://rack{1...4}.host{1...4}.domain.com/mnt/export{1...32}

cluster2

클러스터2

export MINIO_ETCD_ENDPOINTS="http://remote-etcd1:2379,http://remote-etcd2:4001" export MINIO_DOMAIN=domain.com export MINIO_PUBLIC_IPS=44.35.1.1,44.35.1.2,44.35.1.3,44.35.1.4 minio server http://rack{5...8}.host{5...8}.domain.com/mnt/export{1...32}

In this configuration you can see MINIO_ETCD_ENDPOINTS points to the etcd backend which manages MinIO's config.json and bucket DNS SRV records.

이 구성에서는 MINIO_ETCD_ENDPOINTS가 MinIO의 config.json 및 버킷 DNS SRV 레코드를 관리하는 etcd 백엔드를 가리키는 것을 볼 수 있습니다.

MINIO_DOMAIN indicates the domain suffix for the bucket which will be used to resolve bucket through DNS.

MINIO_DOMAIN은 DNS를 통해 버킷을 확인하는 데 사용되는 버킷의 도메인 접미사를 나타냅니다.

For example if you have a bucket such as mybucket, the client can use now mybucket.domain.com to directly resolve itself to the right cluster.

예를 들어 mybucket과 같은 버킷이 있는 경우 클라이언트는 이제 mybucket.domain.com을 사용하여 올바른 클러스터를 직접 확인할 수 있습니다.

MINIO_PUBLIC_IPS points to the public IP address where each cluster might be accessible, this is unique for each cluster.

MINIO_PUBLIC_IPS는 각 클러스터에 액세스할 수 있는 공유 IP 주소를 가리키며 이는 각 클러스터마다 고유합니다.

NOTE: mybucket only exists on one cluster either cluster1 or cluster2 this is random and is decided by how domain.com gets resolved, if there is a round-robin DNS on domain.com then it is randomized which cluster might provision the bucket.

참고: mybucket은 cluster1 또는 cluster2 중 하나의 클러스터에만 존재합니다. 이는 무작위이며 domain.com이 확인되는 방식에 따라 결정됩니다. domain.com에 라운드 로빈 DNS가 있는 경우 버킷을 프로비저닝할 클러스터가 무작위로 지정됩니다.

3. Upgrading to etcdv3 API

3. etcdv3 API로 업그레이드

Users running MinIO federation from release RELEASE.2018-06-09T03-43-35Z to RELEASE.2018-07-10T01-42-11Z, should migrate the existing bucket data on etcd server to etcdv3 API, and update CoreDNS version to 1.2. 0 before updating their MinIO server to the latest version.

릴리스 RELEASE.2018-06-09T03-43-35Z에서 RELEASE.2018-07-10T01-42-11Z까지 MinIO 페더레이션을 실행하는 사용자는 etcd 서버의 기존 버킷 데이터를 etcdv3 API로 마이그레이션해야 하고, MinIO 서버를 최신 버전으로 업데이트하기전에 CoreDNS 버전을 1.2.0로 업데이트하세요.

Here is some background on why this is needed - MinIO server release RELEASE.2018-06-09T03-43-35Z to RELEASE.2018-07-10T01-42-11Z used etcdv2 API to store bucket data to etcd server.

이것이 필요한 이유에 대한 배경은 다음과 같습니다. MinIO 서버 릴리스 RELEASE.2018-06-09T03-43-35Z ~ RELEASE.2018-07-10T01-42-11Z는 etcdv2 API를 사용하여 버킷 데이터를 etcd 서버에 저장했습니다.

This was due to etcdv3 support not available for CoreDNS server. So, even if MinIO used etcdv3 API to store bucket data, CoreDNS wouldn't be able to read and serve it as DNS records.

이는 CoreDNS 서버에서 etcdv3 지원을 사용할 수 없기 때문입니다. 따라서 MinIO가 etcdv3 API를 사용하여 버킷 데이터를 저장하더라도 CoreDNS는 이를 읽고 DNS 레코드로 제공할 수 없습니다.

Now that CoreDNS supports etcdv3, MinIO server uses etcdv3 API to store bucket data to etcd server. As etcdv2 and etcdv3 APIs are not compatible, data stored using etcdv2 API is not visible to the etcdv3 API.

이제 CoreDNS가 etcdv3를 지원하므로 MinIO 서버는 etcdv3 API를 사용하여 버킷 데이터를 etcd 서버에 저장합니다. etcdv2 및 etcdv3 API는 호환되지 않으므로 etcdv2 API를 사용하여 저장된 데이터는 etcdv3 API에 표시되지 않습니다.

So, bucket data stored by previous MinIO version will not be visible to current MinIO version, until a migration is done.

따라서 이전 MinIO 버전에 저장된 버킷 데이터는 마이그레이션이 완료될 때까지 현재 MinIO 버전에 표시되지 않습니다.

CoreOS team has documented the steps required to migrate existing data from etcdv2 to etcdv3 in this blog post. Please refer the post and migrate etcd data to etcdv3 API.

CoreOS 팀은 이 블로그 게시물에서 기존 데이터를 etcdv2에서 etcdv3로 마이그레이션하는 데 필요한 단계를 문서화했습니다. 게시물을 참고하여 etcd 데이터를 etcdv3 API로 마이그레이션하시기 바랍니다.

4. Test your setup

4. 설정 테스트

To test this setup, access the MinIO server via browser or mc. You’ll see the uploaded files are accessible from the all the MinIO endpoints.

이 설정을 테스트하려면 브라우저나 mc를 통해 MinIO 서버에 액세스하세요. 모든 MinIO 엔드포인트에서 업로드된 파일에 액세스할 수 있음을 확인할 수 있습니다.

Explore Further

더 자세히 살펴보세요

Use mc with MinIO Server

MinIO 서버와 함께 mc 사용

Use aws-cli with MinIO Server

MinIO 서버와 함께 aws-cli 사용

Use s3cmd with MinIO Server

MinIO 서버와 함께 s3cmd 사용

Use minio-go SDK with MinIO Server

MinIO 서버와 함께 minio-go SDK를 사용

The MinIO documentation website

MinIO 문서 웹사이트