Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- APM
- CKA
- 정보처리기사 실기 기출문제
- Java
- AI
- 정보처리기사 실기
- Kubernetes
- kotlin coroutine
- PETERICA
- CKA 기출문제
- Spring
- Pinpoint
- Elasticsearch
- IntelliJ
- 공부
- mysql 튜닝
- kotlin querydsl
- 기록으로 실력을 쌓자
- AWS EKS
- 오블완
- 정보처리기사실기 기출문제
- 코틀린 코루틴의 정석
- minikube
- aws
- 티스토리챌린지
- CloudWatch
- kotlin
- Linux
- MySQL
- kotlin spring
Archives
- Today
- Total
피터의 개발이야기
[kubernetes] 외부 IP 주소를 노출하여 클러스터의 애플리케이션에 접속하기 본문
반응형
ㅁ 개요
ㅇ AWS 환경에서 쿠버네티스의 튜터리얼 실습과정을 정리
ㅇ Hello World 애플리케이션을 다섯 개의 인스턴스 실행
ㅇ 외부 IP 주소를 노출하는 서비스를 생성
ㅇ 실행 중인 애플리케이션에 접근하기 위해 서비스 오브젝트를 사용
ㅇ Network Load Balancer를 생성하여 도메인에 연결
ㅁ 클러스터에서 Hello World 애플리케이션을 실행
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app.kubernetes.io/name: load-balancer-example
name: hello-world
spec:
replicas: 5
selector:
matchLabels:
app.kubernetes.io/name: load-balancer-example
template:
metadata:
labels:
app.kubernetes.io/name: load-balancer-example
spec:
containers:
- image: gcr.io/google-samples/node-hello:1.0
name: hello-world
ports:
- containerPort: 8080
ㅇ service/load-balancer-example.yaml 을 생성하여 실행 할 수 있고, 아래의 명령으로도 실행할 수 있다.
kubectl apply -f https://k8s.io/examples/service/load-balancer-example.yaml
ㅁ 디플로이먼트에 대한 정보를 확인
# deployment 확인
kubectl get deployments hello-world
# 디플로이 상세 확인
kubectl describe deployments hello-world
ㅁ 레플리카셋 오브젝트에 대한 정보를 확인
kubectl get replicasets
kubectl describe replicasets
ㅁ 디플로이먼트를 외부로 노출시키는 서비스 오브젝트를 생성
kubectl expose deployment hello-world --type=LoadBalancer --name=my-service
ㅁ 서비스에 대한 정보를 확인
kubectl get services my-service
ㅇ External IP가 생성되었다.
kubectl describe services my-service
ㅁ AWS 로드밸런스 확인
ㅇ 쿠버네티스에 서비스를 생성하면 로드밸런스에도 ad75a85d6bdc04d30952b74f89405bfc-1386427692 로 생성이 되었다.
ㅁ External IP 접속 확인
ㅇ http:// e.ap-northeast-2.elb.amazonaws.com:8080/로 접속 확인하였다.
ㅁ 서브 도메인 세팅
ㅇ 서브도메인으로 접속을 확인하였다.
ㅁ 테스트 환경 정리
[ec2-user@ip-172-31-43-214 ~]$ kubectl delete services my-service
service "my-service" deleted
[ec2-user@ip-172-31-43-214 ~]$ kubectl get service
serviceaccounts services
[ec2-user@ip-172-31-43-214 ~]$ kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 6h28m
ㅇ 로드 밸런서에서도 삭제가 되었다.
ㅁ 함께 보면 좋은 사이트
반응형
'Kubernetes > Infra작업' 카테고리의 다른 글
[kubernetes] kubectl 설치 또는 업데이트 (0) | 2022.10.23 |
---|---|
[kubernetes] Kubernetes 스키마를 검증하기 위한 방법 (0) | 2022.09.22 |
[kubernetes] MongoDB 환경 구축 (2) | 2022.08.24 |
[kubernetes] Elasticsearch Data 노드 메모리 증설 (0) | 2022.07.14 |
Comments