레이블이 consul인 게시물을 표시합니다. 모든 게시물 표시
레이블이 consul인 게시물을 표시합니다. 모든 게시물 표시

consul api

# consul ui 에서 서비스, 노드 제거등은 제공하지 않아 consul api 를 사용한다.
# ysoftman_service 조회
curl "http://localhost:8500/v1/catalog/service/ysoftman_service" -s | jq

# 서비스 노드 제거시
# 우선 해당 노드에서 consul 프로세스를 내린다.
# 이제 아래 api 로 요청하면 노드가 포함된 서비스들에서 모두 빠진다.
curl -X PUT "http://localhost:8500/v1/catalog/deregister" --data '{"Node":"ysoftman1"}'

# consul 클러스터 노드(서버) 상태
curl "http://localhost:8500/v1/status/peers"

# consul 클러스터 노드들 정보(이름, 상태 보기)
curl "http://localhsot:8500/v1/agent/members" | jq '.[] | "\(.Name) \(.Status)"'

# consul 클러스터에서 ysoftman2 노드 제거
curl -X PUT "http://localhost:8500/v1/agent/force-leave/ysoftman2" -v

consul no installed keys error

# consul client 타입으로 아래 명령줄로 실행되고 있다.
consul agent -config-dir /home/ysoftman/consul/client1

# 기존 consul cluster(서버3대) 에 join 시 client.out 에 다음과 같은 경고와 함께 에러가 발생했다.
2023-11-14T12:47:05.441+0900 [WARN]  agent: (LAN) couldn't join: number_of_nodes=0 error="3 errors occurred:
* Failed to join 10.10.10.10: No installed keys could decrypt the message
* Failed to join 10.10.10.11: No installed keys could decrypt the message
* Failed to join 10.10.10.12: No installed keys could decrypt the message
... 생략 ...
2023-11-14T12:46:55.841+0900 [ERROR] agent.anti_entropy: failed to sync remote state: error="No known Consul servers"

# 설정을 확인해봤지만
# /home/ysoftman/consul/client1/agent.json > encrypt 값도 명시되어 있었다.

# 예전 설치 이력으로 파일들이 남아 있는게 문제로 삭제하면 된다.
# 유효하지 않은 서비스 파일도 삭제하자.
rm -rf /home/ysoftman/consul/{serf,services}

# 이제 다시 실행(systemctl 데몬이라면 재시작)하면 정상동작한다.