Vultr에서 BGP 구성
Vultr BGP 설정을 위한 단계별 튜토리얼. ASN 할당부터 IP 라우팅 구성, BIRD 데몬 설정, FreeBSD 특이사항 및 실전 문제 해결 팁 7가지 포함한 최종 가이드
이 안내서는 여러 개의 Alpine Linux 3.9.0 서버와 Portainer를 사용하여 Docker swarm을 생성하고 구성하는 방법을 보여줍니다. Vultr은 현재 CentOS 7 x64와 Ubuntu 16.04 x64를 모두 지원 하는 원 클릭 도커 앱 을 제공합니다 .
시작하려면 Alpine Linux 3.9.0을 실행하는 VC2 서버가 두 대 이상 필요합니다. Docker swarm 내에서 이러한 서버 중 하나는 manager node
외부 네트워크와 인터페이스하고 작업자 노드에 작업을 위임 하는 역할을합니다 . 그런 다음 다른 서버는 worker node
관리자 노드에 의해 위임 된 작업을 수행합니다.
응용 프로그램에 중복성 및 / 또는 더 많은 컴퓨팅 성능이 필요한 경우 두 개 이상의 서버를 시작할 수 있으며이 가이드에 제공된 단계가 계속 적용됩니다.
Vultr 서버 배포 인터페이스를 방문하십시오 .
Vultr Cloud (VC2)
페이지 상단에서 탭이 선택되어 있는지 확인 하십시오.
Server Location
섹션 에서 임의의 위치를 선택할 수 있지만 모든 서버는 동일한 위치에 있어야합니다 . 그렇지 않으면 Docker 스웜을 배치 할 수 없습니다.
섹션 의 ISO Library
탭을 Server Type
선택하고 Alpine Linux 3.9.0 x86_64
이미지를 선택하십시오 .
Server Size
섹션 에서 적절한 옵션을 선택 하십시오. 이 가이드는 25GB SSD 서버 크기를 사용하지만 응용 프로그램의 리소스 요구 사항을 충족하기에는 불충분 할 수 있습니다. Vultr을 사용하면 서버가 이미 시작된 후 서버 크기를 쉽게 업그레이드 할 수 있지만 응용 프로그램이 최적으로 수행해야하는 서버 크기를 신중하게 고려해야합니다.
에서 Additional Features
섹션, 당신이 선택해야합니다 Enable Private Networking
옵션을 선택합니다. 이 안내서를 따르는 데 다른 옵션이 필요하지는 않지만 응용 프로그램의 맥락에서 각 옵션이 적합한 지 여부를 고려해야합니다.
이전 Multiple Private Networks
에 계정 에서 옵션을 활성화 한 경우 서버를 위해 기존의 기존 네트워크를 선택하거나 새 개인 네트워크를 만들어야합니다. 활성화하지 않은 경우이 섹션을 무시할 수 있습니다. 개인 네트워크 수동 구성에 대한 자세한 내용은 이 안내서를 참조하십시오 .
Firewall Group
지금 은 섹션을 건너 뛰십시오 . Docker swarm에서 관리자 노드 역할을하는 서버 만 노출 된 포트가 필요하며 서버 배치 후에 구성해야합니다.
페이지 맨 아래 Server Qty
에 적어도 2 개를 입력해야합니다 . 앞에서 언급했듯이 둘 이상의 서버가 필요할 수 있지만이 가이드를 따르기에 충분합니다.
마지막으로, Server Hostname & Label
섹션에서 각 서버에 대해 의미 있고 기억하기 쉬운 호스트 이름과 레이블을 입력하십시오. 이 설명서의 목적을 위해, 제 서버의 호스트 이름과 라벨 것 docker-manager
및 Docker Manager
,과 respectively- docker-worker
및 Docker Worker
각각 초.
모든 구성을 다시 확인한 후 Deploy Now
페이지 하단의 버튼 을 클릭 하여 서버를 시작할 수 있습니다.
Vultr의 ISO 라이브러리에서 OS를 선택 했으므로 각 서버에 Alpine Linux 3.9.0을 수동으로 설치하고 구성해야합니다.
Vultr에 1 분 또는 2 분 동안 서버를 할당 한 후 서버 관리 인터페이스 에서 서버 의 3 점 more options
아이콘을 클릭 한 다음 옵션 을 선택하십시오 .Docker Manager
View Console
로그인 프롬프트가 표시된 콘솔로 리디렉션되어야합니다. 그렇지 않은 경우 Vultr가 서버 배치를 완료 할 때까지 1 분 정도 기다리십시오.
해당 로그인 프롬프트 root
에서 사용자 이름으로 입력하십시오 . 서버에서 현재 실행중인 Alpine Linux 3.9.0의 라이브 버전에서는 로그인 할 때 수퍼 유저가 비밀번호를 입력하지 않아도됩니다.
루트 계정에 성공적으로 로그인하면 시작 메시지와 함께 다음과 같은 셸 프롬프트가 나타납니다.
localhost:~#
Alpine Linux 설치 프로그램을 시작하려면 다음 명령을 입력하십시오.
# setup-alpine
먼저 적절한 키보드 레이아웃을 선택하십시오. 이 가이드는 us
레이아웃과 변형을 사용합니다 .
호스트 이름을 설정할 때 배포 중에이 서버에 설정 한 것과 동일한 호스트 이름을 선택하십시오. 이 안내서를 정확히 따른다면 호스트 이름은이어야합니다 docker-manager
.
두 개의 네트워크 인터페이스를 사용할 수 있어야합니다 : eth0
및 eth1
. 이 표시 만되면 eth0
서버의 개인 네트워크를 올바르게 구성하지 않은 것입니다. 을 eth0
사용하여 dhcp
초기화 eth1
하고이 서버에 배치 된 개인 IP 주소, 넷 마스크 및 게이트웨이를 사용하여 초기화 하십시오. 서버의 설정 인터페이스에서 이러한 세부 사항에 액세스 할 수 있습니다. 메시지가 표시되면 수동 네트워크 구성을 수행하지 마십시오.
루트 계정의 새 비밀번호를 입력 한 다음 서버를 배치하기로 선택한 위치에 적합한 시간대를 선택하십시오.
HTTP / FTP 프록시를 사용하려면 URL을 입력하십시오. 그렇지 않으면 프록시 URL을 설정하지 마십시오.
시스템 시계 동기화를 관리 할 NTP 클라이언트를 선택하십시오. 이 안내서는를 사용 busybox
합니다.
사용할 패키지 저장소 미러를 요청하면 번호를 입력하여 명시 적으로 하나를 선택하십시오. 자동으로 가장 빠른 것을 감지하고 선택하십시오 f
. 또는를 입력하여 저장소 구성 파일을 수동으로 편집하십시오 e
. 이는 Alpine Linux에 익숙하지 않은 경우 권장되지 않습니다. 이 안내서는 첫 번째 미러를 사용합니다.
SSH를 사용하여 서버에 액세스하거나 SSH 기반 파일 시스템을 호스팅하려는 경우 사용할 SSH 서버를 선택하십시오. 이 안내서는를 사용 openssh
합니다.
사용할 수있는 디스크에 대한 메시지가 나타나면 디스크 선택 vda
과 같은 sys
유형입니다.
이제 Alpine Linux 3.9.0이 서버에 설치되어 있어야합니다. 이전에 배치 한 다른 모든 서버에 대해이 프로세스를 반복하여 호스트 이름 및 eth1
네트워크 인터페이스에 올바른 값을 대체하십시오 .
이 시점에서 서버는 여전히 Alpine Linux 3.9.0의 라이브 ISO 버전을 실행하고 있습니다. SSD 설치로 부팅하려면 서버의 설정 인터페이스를 방문하여 Custom ISO
사이드 메뉴 항목으로 이동 한 후 Remove ISO
버튼을 클릭하십시오 . 서버를 재부팅해야합니다. 그렇지 않은 경우 수동으로 재부팅하십시오.
서버 재부팅이 완료되면 서버의 웹 콘솔로 돌아갑니다 Docker Manager
.
설치 과정에서 이전에 설정 한 비밀번호를 사용하여 루트 계정에 로그인하십시오.
세 번째 줄의 주석을 해제하여 지역 사회 패키지 저장소 사용을 /etc/apk/repositories
사용하여 vi
. Edge 및 테스트 리포지토리를 비슷한 방식으로 활성화 할 수 있지만이 가이드를 따를 필요는 없습니다.
다음 쉘 명령을 입력하여 서버의 로컬 패키지 색인을 이전에 선택한 원격 저장소와 동기화하십시오.
# apk update
그런 다음 오래된 패키지를 업그레이드하십시오.
# apk upgrade
이전과 같이 이전에 배포 한 각 서버에 대해이 구성 프로세스를 반복하십시오.
Docker 패키지 자체를 설치하기 전에 별도의 docker
사용자 를 만들 수 있습니다 . 다음 명령을 사용하여이를 수행 할 수 있습니다.
# adduser docker
참고 : Docker 패키지가 설치되면 이 새 사용자와 새 docker
그룹에 추가 된 모든 사용자에게 루트 권한이 부여됩니다. Moby Github 저장소에서 다음 문제 를 참조하십시오 .
인
--privileged
도커 로 인해 'docker'그룹에 추가 된 사람은 모두 루트에 해당합니다. 도커 그룹의 모든 사람은 시스템에 대한 모든 권한 에스컬레이션 정책 및 감사에 대한 백도어를 가지고 있습니다.이는 누군가가 sudo to root를 실행하여 정책을 적용하고 감사를 적용하는 것과는 다릅니다.
docker
사용자 에게 sudo 권한을 부여 하려면 먼저 sudo
패키지를 설치하십시오 .
# apk add sudo
그런 다음 sudo
그룹을 작성하십시오 .
# addgroup sudo
마지막으로 docker
사용자를 sudo
그룹에 추가하십시오 .
# adduser docker sudo
이제이 안내서의 4 단계에 따라 sudo 구성을 완료 할 수 있습니다 .
이제 Docker 패키지를 설치할 준비가되었습니다. docker
Docker를 설치하고 구성하기 위해 별도의 sudo 가능 사용자 가 반드시 필요 하지는 않지만이 안내서는 해당 규칙을 따릅니다.
다음 명령으로 Docker 패키지를 설치하십시오.
# apk add docker
그런 다음 Docker init 스크립트를 활성화하십시오.
# rc-update add docker
마지막으로 Docker 데몬을 시작하십시오.
# rc-service docker start
이 명령으로 Docker가 실행 중인지 확인할 수 있습니다.
# docker info
마지막으로, 처음에 배치 한 각 서버에 대해이 Docker 설치 프로세스를 반복하십시오.
모든 설정이 완료되면 Docker swarm을 만들 준비가 된 것입니다.
Docker Manager
서버 의 웹 콘솔로 다시 이동하십시오 . 이 서버는 웜에서 관리자 노드로 구성합니다. docker
이전에 사용자 를 작성하기로 선택한 경우 수퍼 유저가 아닌 해당 계정을 사용하여 로그인하십시오.
다음 명령을 입력하되 서버에 할당 된 192.0.2.1
개인 (공용 아님) IP 주소로 바꾸 십시오 Docker Manager
.
$ docker swarm init --advertise-addr 192.0.2.1
Docker는 개인 네트워크의 다른 서버에서 실행할 수있는 ���령을 표시 하여이 새로운 떼에 작업자 노드로 추가합니다. 이 명령을 저장하십시오.
이제 Docker Worker
서버 의 웹 콘솔로 이동 하여 docker
사용자가 작성한 경우 로그인 하십시오.
이 서버를 방금 생성 한 떼에 작업자 노드로 추가하려면 swarm creation 명령의 출력에서 저장 한 명령을 실행하십시오. 다음과 유사합니다.
$ docker swarm join --token SWMTKN-1-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXX 192.0.2.1:2377
Docker는 노드가 떼에 합류 할 수 있는지 여부를 출력합니다. 웜에 작업자 노드를 추가하는 데 문제가 발생하면 개인 네트워크 구성을 다시 확인 하고이 안내서 에서 문제 해결을 참조하십시오 .
처음에 두 대 이상의 서버를 배포 한 경우 위 명령을 사용하여 나머지를 작업자 노드로 웜에 추가하여 응용 프로그램에서 사용할 수있는 리소스의 양을 늘릴 수 있습니다. 또는 추가 관리자 노드를 추가 할 수 있지만이 안내서의 범위를 벗어납니다.
이제 Docker swarm을 사용할 준비가되었습니다. 그러나 선택적으로 웜의 관리자 노드에서 Portainer 스택을 시작할 수 있습니다. Portainer는 웜과 그 안의 노드를 관리하기위한 편리한 웹 인터페이스를 제공합니다.
이제 떼를위한 방화벽 그룹을 만들 차례입니다. 응용 프로그램에 특별히 필요한 경우가 아니면 관리자 노드의 포트만 노출하십시오 . 신중하게 고려하지 않고 작업자 노드에 포트를 노출하면 취약점이 발생할 수 있습니다.
방화벽 관리 인터페이스로 이동하여 새 방화벽 그룹을 작성하십시오. 응용 프로그램은 노출 할 포트를 지정해야하지만 최소한 9000
Portainer의 노출 포트 를 지정해야합니다. 이 방화벽 그룹을 Docker Manager
서버에 적용하십시오 .
필수는 아니지만 SSL을 사용하여 Portainer를 보호하는 것이 좋습니다. 이 가이드를 위해 자체 서명 된 OpenSSL 인증서 만 사용 하지만 프로덕션 환경에서 Let 's Encrypt 사용 을 고려해야 합니다.
Docker Manager
서버 의 웹 콘솔로 이동 하여 docker
사용자 를 사용하여 로그인 한 후 다음 명령을 사용하여 자체 서명 된 OpenSSL 인증서를 생성하십시오.
$ mkdir ~/certs
$ openssl genrsa -out ~/certs/portainer.key 2048
$ openssl req -new -x509 -sha256 -key ~/certs/portainer.key -out ~/certs/portainer.pem -days 3650
~/portainer-agent-stack.yml
다음 내용 으로 새 파일을 작성하십시오 .
version: '3.2'
services:
agent:
image: portainer/agent
environment:
AGENT_CLUSTER_ADDR: tasks.agent
CAP_HOST_MANAGEMENT: 1
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/lib/docker/volumes:/var/lib/docker/volumes
- /:/host
networks:
- agent_network
deploy:
mode: global
portainer:
image: portainer/portainer
command: -H tcp://tasks.agent:9001 --tlsskipverify --ssl --sslcert /certs/portainer.pem --sslkey /certs/portainer.key
ports:
- target: 9000
published: 9000
protocol: tcp
mode: host
volumes:
- portainer_data:/data
- /home/docker/certs:/certs
networks:
- agent_network
deploy:
mode: replicated
replicas: 1
placement:
constraints: [node.role == manager]
networks:
agent_network:
driver: overlay
attachable: true
volumes:
portainer_data:
이 Docker 스택 구성 파일을 요구 사항에 맞게 수정 한 후 배포 할 수 있습니다.
$ docker stack deploy --compose-file ~/portainer-agent-stack.yml portainer
Portainer가 작동하는지 확인하려면 Docker에 1 ~ 2 분 정도 시간을 준 후 다음 명령을 실행하여 스택을 배포하십시오.
$ docker ps
당신은 이미지 두 개의 컨테이너를 볼 수 portainer/portainer:latest
와 portainer/agent:latest
Portainer이 제대로 시작되었는지 확인.
이제 HTTPS를 사용하여 Docker Manager
포트에서 서버 의 공용 IP 주소를 방문하여 Docker swarm을 구성하고 관리 할 수 있습니다 9000
.
Vultr BGP 설정을 위한 단계별 튜토리얼. ASN 할당부터 IP 라우팅 구성, BIRD 데몬 설정, FreeBSD 특이사항 및 실전 문제 해결 팁 7가지 포함한 최종 가이드
WebDAV (Web Distributed Authoring and Versioning)를 이용한 원격 파일 작성을 위한 프레임워크로, WsgiDAV 설치 및 구성 방법을 안내합니다.
이 자습서는 Vultrs 시스템과 호환되는 Windows ISO를 만드는 과정을 안내합니다. 최신 드라이버와 업데이트 통합이 포함되어 있습니다.
Mailcow는 DoveCot, Postfix 및 기타 여러 오픈 소스 패키지를 기반으로 하는 경량 메일 서버입니다. 데비안에서 Mailcow 설치 방법을 안내합니다.
랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.
오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.
Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. Windows 8 이상 및 Mac OS 10.9 이상에서 사용 가능
인공 지능이 소규모 회사에서 어떻게 인기를 얻고 있으며 어떻게 인공 지능이 성장할 가능성을 높이고 경쟁자가 우위를 점할 수 있는지 알아보려면 이 기사를 읽으십시오.
최근 Apple은 문제를 해결하기 위해 macOS Catalina 10.15.4 추가 업데이트를 출시했지만 이 업데이트로 인해 Mac 컴퓨터의 브릭킹으로 이어지는 더 많은 문제가 발생하는 것 같습니다. 자세히 알아보려면 이 기사를 읽어보세요.
빅데이터의 13가지 상용 데이터 추출 도구