K8S_Service-NodePort, ReplicaSet
- 목차 -
1. Service type
2. Service - NodePort
3. ReplicaSet
1. Service type
ClusterIP = Pod 그룹의 단일점 (Virutal IP) 생성, 제일 기본적인 기능 , 내부 통신용
NodePort = ClusterIP 가 생성된 후 , 모든 Worker Node 에 외부에서 접속가능한 포트가 예약 , 밖에 클라이언트가 해당 포트와 worker node 의 ip 에 접속을 시도하면 저 묶인 pod중 하나로 연결을 해줌
위의 2개는 다 cluster안에서 만 서로 트래픽을 주고 받는거임 외부에서 들어오는것은 ingress를 이용하는게 좋음
Load Balancer == aws,gcp 이런 클라우드 플랫폼 위에서만 가능
External Name = 클러스터 안에서 바깥으로 라우팅 해주는 역할 , DNS이긴 한데 거꾸로 감
출처 : https://tonylim.tistory.com/310
2. Service - NodePort
2-1. nginx pod 생성
2-2. 외부에 노출을 위해 expose
2-3. service 확인
2-4. 31900포트로 접속 확인
2-5. curl로 내부 IP 주소:80 확인
2-6. service 삭제 후 8080포트 지정해서 expose
2-7. get svc로 확인
2-8. port와 target 포트 지정하여 expose
2-9. describe로 확인
2-10. yml 파일 작성
2-11. yml 파일 내용 확인
2-12. apply해서 적용하고 확인
2-13. 외부 접속 확인
3. ReplicaSet
3-1. yml 파일 생성
3-2. 매니페스트 파일 작성. 아래서 부터 이해하면 쉽다. nginx container spec을 가진 > 템플릿을 > 2개 복사하겠다.
3-3. 작성한 파일 apply
3-4. get pods 결과 2개 생성 확인
3-5. 생성된 두개 중에 하나를 지워도
3-6. 또 다른 하나가 생성되며 2개 갯수가 맞춰진다.
3-7. rs/nginxrep 화인
3-8. 외부 접속을 위해 NodePort expose
3-9. 외부 접속 확인
3-10. 매니페스트 파일 수정
3-11. apply만해도 4개가 복사되는 것 확인. 매니페스트 파일을 관리하면 pods를 쉽게 관리 할 수 있다.
3-12. 삭제 할때는 replicaset을 지워줘야합니다. pods 지우면 계속 생성됩니다.