티스토리 뷰

1. ingress 리소스에서 사용할 host를 서버의 /etc/hosts에 정의하기

2. loadbalancer 타입으로 만들고 externalip지정하기

 

미리 준비할 것

  • 베어메탈/etc/hosts에 ingress에서 사용할 host정의하기
  • nginx ingress controller 설치하고, ingressClassName 해결하기
  • nginx ingress controller의 네임스페이스와 실제 ingress를  만들 네임스페이스 달라도 상관 없다
    • 왜냐하면 ingressClassName에서 default로 연결했기 때문
    • 싱글 namespace만 특정하고 싶다면 nginx ingress controller의 deploy에 arg로 설정(공홈 & 구글링 참조)

 

필요한 파일

1 deployment.yaml  
2 service.yaml 베어메탈이어도 loadBalancer타입으로 만들어서 externalIP를 지정해주기
3 ingress.yaml 연결하고자하는 서비스의 네임스페이스를 지정하기
(추가 서비스를 연결한다면 그건 headless service이용)

 

ingress.yaml

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: AAAAAAAAAAAAAA-deploy
  namespace: AAAAAAAAAAAAAA-ns
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: AAAAAAAAAAAAAA.kr
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: AAAAAAAAAAAAAA-service
            port:
              number: 3000

 

service.yaml

apiVersion: v1
kind: Service
metadata:
  name: AAAAAAAAAAAA-service
  namespace: AAAAAAAAAAAA-ns
spec:
  externalTrafficPolicy: Local
  type: LoadBalancer
  externalIPs:
  - AAAAAAAAAAA-serverIP
  ports:
  - port: 80
    targetPort: 80
    protocol: TCP
    name: http
  - port: 443   #필수아님
    targetPort: 443
    protocol: TCP
    name: https
  selector:
    app: AAAAAAAAAAAA

 

deployment.yaml

원하는대로

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함