SUSE에서 Etcd¶
지금은 etcd3용 distro 패키지가 없습니다. 이 가이드는 적절한 distro 패키지가 나올 때까지 차선책으로서 tarball 설치를 사용합니다.
해당 etcd 서비스는 컨트롤러 노드에서 실행합니다.
구성요소 설치 및 구성¶
etcd 설치
etcd 사용자 생성
# groupadd --system etcd # useradd --home-dir "/var/lib/etcd" \ --system \ --shell /bin/false \ -g etcd \ etcd
필요한 디렉토리 생성
# mkdir -p /etc/etcd # chown etcd:etcd /etc/etcd # mkdir -p /var/lib/etcd # chown etcd:etcd /var/lib/etcd
시스템 아키텍처 결정하기:
# uname -m
x86_64/amd64를 위한 etcd tarball을 다운로드 및 설치합니다:
# ETCD_VER=v3.2.7 # rm -rf /tmp/etcd && mkdir -p /tmp/etcd # curl -L \ https://github.com/coreos/etcd/releases/download/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz \ -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz # tar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz \ -C /tmp/etcd --strip-components=1 # cp /tmp/etcd/etcd /usr/bin/etcd # cp /tmp/etcd/etcdctl /usr/bin/etcdctl
또는 arm64를 위한 etcd tarball을 다운로드 및 설치합니다:
# ETCD_VER=v3.2.7 # rm -rf /tmp/etcd && mkdir -p /tmp/etcd # curl -L \ https://github.com/coreos/etcd/releases/download/${ETCD_VER}/etcd-${ETCD_VER}-linux-arm64.tar.gz \ -o /tmp/etcd-${ETCD_VER}-linux-arm64.tar.gz # tar xzvf /tmp/etcd-${ETCD_VER}-linux-arm64.tar.gz \ -C /tmp/etcd --strip-components=1 # cp /tmp/etcd/etcd /usr/bin/etcd # cp /tmp/etcd/etcdctl /usr/bin/etcdctl
/etc/etcd/etcd.conf.yml
파일을 생성 및 편집하여initial-cluster
,initial-advertise-peer-urls
,advertise-client-urls
,listen-client-urls
를 관리 네트워크를 통해 다른 노드에 대한 액세스를 활성화도록 컨트롤러 노드에 대한 관리 IP 주소로 설장합니다:name: controller data-dir: /var/lib/etcd initial-cluster-state: 'new' initial-cluster-token: 'etcd-cluster-01' initial-cluster: controller=http://10.0.0.11:2380 initial-advertise-peer-urls: http://10.0.0.11:2380 advertise-client-urls: http://10.0.0.11:2379 listen-peer-urls: http://0.0.0.0:2380 listen-client-urls: http://10.0.0.11:2379
/usr/lib/systemd/system/etcd.service
파일을 생성 및 편집합니다:[Unit] After=network.target Description=etcd - highly-available key value store [Service] # Uncomment this on ARM64. # Environment="ETCD_UNSUPPORTED_ARCH=arm64" LimitNOFILE=65536 Restart=on-failure Type=notify ExecStart=/usr/bin/etcd --config-file /etc/etcd/etcd.conf.yml User=etcd [Install] WantedBy=multi-user.target
systemd 서비스 파일을 다음과 함께 다시 로딩합니다:
# systemctl daemon-reload
설치 마무리¶
etcd 서비스를 활성화한 후 시작합니다:
# systemctl enable etcd # systemctl start etcd