Kubbernetes에서 Go가 만든 API를 이동합니다.

개시하다


이 글의 목표는 지난번에 제작된 Go API의 docker image를 사용하여kubernetes의 학습을 Kubbernetes에서 사용하는 동작을 겸비하는 것이다.
https://zenn.dev/kenny/articles/b9dd668bf09efe

전제 조건

  • Kubbernetes 설치
  • kubernetes의 상하문은 docker desktop으로 진행됩니다

    카탈로그

  • deployment.제작yaml
  • service.제작yaml
  • 동작 확인
  • 1. deployment.만들기


    이전 글에서 만든 go-sample 디렉터리에서 만들기 deployment.yaml
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: go-sample
      labels:
        app: go-sample
    spec:
      # とりあえず2つのpodに設定しておく
      replicas: 2
      selector:
        matchLabels:
          app: go-sample
      template:
        metadata:
          labels:
            app: go-sample
        spec:
          containers:
            - name: go-sample
              # ローカルで作成したイメージを使用
              image: go-sample-image
              # ローカルのイメージを使用するため、imagePullPolicyをIfNotPresentに設定
              imagePullPolicy: IfNotPresent
              # コンテナのポートは8080
              ports:
                - containerPort: 8080
    
    를 점으로
    로컬에서 만든 Docker imagego-sample-image를 사용하려면 imagePullPolicyIfNotPresent로 설정합니다.
    IfNotPresent로 설정하면 컨테이너 레지스트리에 문의하면 그 이미지를 활용하고, 없으면 로컬 이미지를 활용한다.
    deployment.만약 yaml이 완성된다면, 나는 apply를 시험해 보겠다
    $ kubectl apply -f deployment.yaml
    
    deployment와pod를 정확하게 제작했는지 확인
    // podが2つ作成されているか確認
    $ kubectl get pods
    
    // deploymentが作成されているか確認
    $ kubectl get deploy
    

    2. service.만들기


    위에서 deployment와pod를 만들었지만 로컬 기기에서 호출할 수 없기 때문에Pod에 접근하는 집합체를 만드는 서비스
    apiVersion: v1
    kind: Service
    metadata:
      name: go-sample
      labels:
        app: go-sample
    spec:
      ports:
        - port: 8080
          protocol: TCP
          targetPort: 8080
      selector:
        app: go-sample
      type: LoadBalancer
    
    서비스 타입을 LoadBalancer로 지정하면 로컬 기기를 통해 접근할 수 있습니다
    서비스가 만들어졌는지 확인
    $ kubectl get svc
    

    3. 동작 확인


    $ curl http://localhost:8080/hello
    // {"message":"Hello World!"}
    
    이상
    다음은 EKS의 공부 겸 EKS의 동작입니다.

    좋은 웹페이지 즐겨찾기