"유랑자 약관[vm명칭]"을 사용하면 Nomad 클라이언트를 파괴합니다

묘사

재생산


watsonian/hashicorp stack ubuntu

릴리즈


제출 0348b65

운영 체제 및 환경 세부 정보


호스트 = macOS
게스트 = VirtualBox VM

문제.


유랑자의 구조는 멱이 아니다.파일 etc/nomad의 줄을 바꾸는 것이 아닙니다.d/금고.염산, 그것은 그것들을 부가했다.이렇게 하면 항목이 복사되어 Nomad가 시작되지 않습니다.

단계 복사

  • 라이센스 생성:
  • [수정]
  • 고객 = nomad test mikael
  • 환경 건설 준비:
  • https://github.com/watsonian/hashicorp-stack-ubuntu
  • 디렉토리에 라이센스 복사/hashicorp stack ubuntu.
  • 환경 조성:
  • ./hashicorp stack ubuntu/vagrant up
  • hashicorp 창고 ubuntu 스크립트를 편집하여nomad를 유도합니다.상해:
  • https://github.com/watsonian/hashicorp-stack-ubuntu/blob/master/scripts/bootstrap-nomad.sh
  • 8행 아래에 다음 줄을 추가합니다([-f/vagrant/config/nomad-${ROLE}-host-volumes.hcl]):
  • sudo mkdir-p/vagrant/host_volumes/zk1
  • hashicorp stack ubuntu 디렉터리에서 다음 명령을 실행합니다.
  • 유랑자 공급nomad-client-1
  • 로그인nomad-client-1:
  • 유랑sshnomad-client-1
  • 로그 지우기:
  • sudo journalctl-회전
  • sudojournalctl-진공시간=1s
  • Nomad 재부팅:
  • sudo systemctl restart nomad
  • 로그 항목 보기:
  • journalctl-서목민
  • 주의 오류:
  • "nomad.service: 메인 프로세스 종료, 코드 = 종료, 상태 = 1/실패"
  • "/etc/nomad.d에서 설정을 불러오는 중 오류 발생:/etc/nomad.d/vault.hcl를 불러오는 중 오류 발생: 의외의 키 금고, 금고"
  • /etc/nomad 파일의 중복 항목을 주의하십시오.d/금고.염산
  • 예기한 결과

  • [DEBUG]http:request complete:method=GET path=/v1/agent/health?유형 = 클라이언트 durati>
  • vagrant@nomad-client-1:~$ nomad node status
    ID        DC   Name            Class   Drain  Eligibility  Status
    1b4d2a10  dc1  nomad-client-1  <none>  false  eligible     ready
    b1f30685  dc1  nomad-client-2  <none>  false  eligible     ready
    
    vagrant@nomad-client-2:~$ nomad node status
    ID        DC   Name            Class   Drain  Eligibility  Status
    1b4d2a10  dc1  nomad-client-1  <none>  false  eligible     ready
    b1f30685  dc1  nomad-client-2  <none>  false  eligible     ready
    

    실제 결과

  • "nomad.service: 메인 프로세스 종료, 코드 = 종료, 상태 = 1/실패"
  • "/etc/nomad.d에서 설정을 불러오는 중 오류 발생:/etc/nomad.d/vault.hcl를 불러오는 중 오류 발생: 의외의 키 금고, 금고"
  • vagrant@nomad-client-1:/etc/nomad.d$ nomad node status
    Error querying node status: Get "http://127.0.0.1:4646/v1/nodes": dial tcp 127.0.0.1:4646: connect: connection refused
    
    vagrant@nomad-client-2:/etc/nomad.d$ nomad node status
    ID        DC   Name            Class   Drain  Eligibility  Status
    1b4d2a10  dc1  nomad-client-1  <none>  false  eligible     down
    b1f30685  dc1  nomad-client-2  <none>  false  eligible     ready
    

    어떻게 신속하게 복구합니까

  • 로그인nomad-client-1:
  • 유랑sshnomad-client-1
  • 파일/etc/nomad에서 중복된 내용을 삭제합니다.d/금고.염산:
  • vim/etc/nomad.d/금고.염산
    ---금고.염산 함량, 교정---
  • vault {
      enabled          = true
      address          = "http://vault.service.consul:8200"
    }
    
  • Nomad 부팅 시도:
  • sudo systemctl start nomad
  • 유목일지 보기:
  • journalctl-서목민
  • 스왑+G
  • 주의 성공:
  • [DEBUG]http:request complete:method=GET path=/v1/agent/health?유형 = 클라이언트 durati>
  • 유목 노드 상태 검사:
  • 유목 노드 상태
  • 고객의 존재에 유의하십시오.
    --- 출력 ---
  • ID        DC   Name            Class   Drain  Eligibility  Status
    1b4d2a10  dc1  nomad-client-1  <none>  false  eligible     ready
    b1f30685  dc1  nomad-client-2  <none>  false  eligible     ready
    

    토론 #1

    The vagrant build isn't idempotent. Instead of replacing lines in file etc/nomad.d/vault.hcl, it appends them. This duplicates entries, thus blocking Nomad from starting.


    이 프로젝트는 여러 조항을 고려한 상황에서 만들어진 것이 아니다.이것은 일회용으로 실행되는 환경으로 설계되었습니다. 이 환경에서 완성된 후에 수정한 것은 모두 수동으로 완성된 것입니다. 그리고 그것을 모두 버리고 다시 시작하기를 기대합니다. (3-4분만 있으면 모든 것을 시작할 수 있기 때문입니다.)
    이것은 바로 내가 중복 설정 항목의 문제가 어디에 있는지 알고 있다는 것이다. 이것은 매우 쉽게 해결할 수 있는 문제이기 때문에 나는 곧 이곳에서 이 문제를 해결할 것이다.

    Add the following line just below line 8, (if [ -f /vagrant/config/nomad-${ROLE}-host-volumes.hcl ]): sudo mkdir -p /vagrant/host_volumes/zk1


    너는 정말 이렇게 해서는 안 된다.이 디렉터리를 수동으로 만들기만 하면 됩니다./vagrant 디렉토리는 모든 가상 시스템에 설치된 프로젝트의 작업 디렉토리일 뿐이므로 클러스터를 시작하기 전에 필요한 호스트 볼륨을 수동으로 생성할 수 있습니다.자동화하려면 별도의 스크립트를 생성하여 용량 할당 중에 실행할 수 있도록 Vagrantfile에 추가하면 됩니다.

    좋은 웹페이지 즐겨찾기