이더 리움 → Helm → Kubernetes Engine

Google Cloud Platform의 블록 체인 플랫폼

저는 최근에 Ethereum의 ‘Go Ethereum'(일명 ‘geth’)을 Google Cloud Platform에 양방향으로 배포하는 자체 개발 방법에 대해 작성했습니다.

https://medium.com/google-cloud/ethereum-on-google-cloud-platform-8f10c82493ca

저는 지난 밤에 Microsoft의 개발자 블로그 “Helm을 사용하여 [Ethereum]을 Kubernetes에 배포”에서 읽었습니다.

Kubernetes (및 Helm)의 한 가지 이점은 차트가이 경우와 같이 Azure Kubernetes Service에서 작동하면 Kubernetes Engine을 포함한 모든 Kubernetes 클러스터에서 작동해야한다는 것입니다. 힌트 : 그렇습니다.

따라서 Kubernetes Engine에 비공개 이더 리움 네트워크를 배포하려면 안정적인 (!) 이더 리움 차트를 살펴보세요.

https://github.com/kubernetes/charts/tree/master/stable/ethereum

설정

기존 Google Cloud Platform 프로젝트, Kubernetes Engine 클러스터 및 Helm이 설치된 경우 건너 뛰세요.

이더 리움

이더 리움 차트 작성자가 제공 한 지침을 따르십시오.

https://github.com/kubernetes/charts/tree/master/stable/ethereum

지갑이 필요하며 필요한 경우 지갑을 만드는 방법이 안내되어 있습니다. 내 유일한 권장 사항은 virtualenv 에서 명령을 래핑하는 것입니다.

다음과 같은 형식을 생성해야합니다.

지갑을 나타내는 값이므로 (안전한) 메모를 작성하세요.

이더 리움 차트 설치

이제 Kubernetes Engine에 차트를 배포 할 준비가되었습니다.

NB 비밀을 생성합니다. 테스트 목적으로 보안 암호 생성기를 사용합니다.

Helm 배포가 완료되면 다음 단계에 대한 지침을 제공합니다.

Kubernetes 엔진

클러스터에 배포 된 여러 리소스를 볼 수 있습니다.

4 개의 배포가 있어야합니다.

및 3 가지 서비스 :

또한 네트워크로드 밸런서가 생성되었는지 확인할 수 있습니다.

네트워크 부하 분산기

헬름 차트는 이더 리움 배포를위한 네트워크로드 밸런서를 제공합니다. $ {SERVICE_IP} 를 검색하여 EthStats 대시 보드 (차트를 배포 할 때 제공된 “참고”참조)에 액세스 할 수 있습니다.

및 :

HTTP / S 부하 분산기

Google Cloud Platform에서는이 HTTP 기반 서비스에 HTTP / S 부하 분산기를 사용할 수 있습니다 (권장 됨). 이를 위해 기존 배포를 munge하거나 Ethereum Chart repo를 복제하고 다음과 같이 변경할 수 있습니다.

차트의 values.yaml 18 행에서 type : LoadBalancer type : NodePort 로 변경하여 네트워크 부하 분산기를 제거합니다. 실행중인 배포에이를 적용하거나 템플릿 파일을 변경할 수 있습니다.

그런 다음 다음을 사용하여이 NodePort에 Ingress를 적용합니다.

NB [[HELM-RELEASE]] 를 Ethereum 배포의 릴리스 이름으로 바꿔야합니다.

이 작업을 수동으로 수행하면 출시 이름을 주시 할 수 있습니다. 내 것은“놀라운 구피”입니다. 당신은 다를 것입니다.

템플릿을 변경하여이 작업을 수행하는 경우 다음 템플릿을 사용할 수 있습니다.

이렇게하면 HTTP / S 부하 분산기가 프로비저닝됩니다.

이전 명령과 유사하게 다음을 수행 할 수 있습니다.

그런 다음 $ {INGRESS_IP} 를 찾습니다.

결론

이 이야기의 주된 목적은 혼합하면 Google Cloud Platform에서도 혼합된다는 것을 보여주기위한 것입니다. 개발자는 X가 Google Cloud Platform에서 실행되는지 자주 묻는 질문을받습니다. 질문은 실제로 “Google Cloud Platform에서 X를 실행하려면 어떻게해야하나요?”입니다.

이 경우 Kubernetes와 Helm의 동반 ‘패키지 관리자’의 사실상 컨테이너 오케스트레이션 표준을 따를 수 있습니다. Helm 차트가 주어지면 Helm 차트는 Kubernetes Engine에서 작동합니다.

그게 다입니다!