[따배쿠] 5-3, 4. 쿠버네티스 Pod - init container & infra container

Поделиться
HTML-код
  • Опубликовано: 12 ноя 2024

Комментарии • 33

  •  2 месяца назад +1

    따배 따봉! 👍

  • @wjchoi6419
    @wjchoi6419 3 года назад +1

    매일같이 듣고 있습니다!

    • @ttabae-learn
      @ttabae-learn  3 года назад

      [이성미 강사] 오~ 쉽지 않은데요.. ^^

  • @hezn99
    @hezn99 3 года назад +1

    일단 감사합니다. 선감후감

    • @ttabae-learn
      @ttabae-learn  3 года назад

      도움되는 강의 였길 바립니다.

  • @정두열-r3k
    @정두열-r3k 3 года назад +2

    오늘도 감사합니다^^

  • @hezn99
    @hezn99 3 года назад +2

    역시 반복해서 보니 훨씬 더 낫습니다. 감사합니다.

    • @seongmilee9095
      @seongmilee9095 3 года назад

      반복해서 듣는 열정이면. ^^ 다 된것입니다.

  • @webpooh72
    @webpooh72 2 года назад +3

    정말 유튜브 강의계에 한줄기빛 같은 분이십니다 ㅠㅠ

    • @ttabae-learn
      @ttabae-learn  2 года назад +1

      도움이 되어서 정말 다행입니다. 앞으로도 도움 되는 강의 되길 바랍니다. 감사합니다😊

  • @홍유리-p3e
    @홍유리-p3e Год назад

    안녕하세요 ! 강의 너무 잘보고 도움 많이 되고 있습니다. ㅎㅎ
    강의 보는중에 궁금한 부분이 있어서 댓글 남깁니다.
    k8s playground 에서 실습중에 있으나 runtime이 containerd 라서 해당 runtime을 통해 pause 컨테이너를 확인할 수 있는 방법이 없을까요?? ㅜ

    • @ttabae-learn
      @ttabae-learn  Год назад

      sudo ctr -n k8s.io container ls
      또는
      crictl 명령을 실행하시면 됩니다

  • @hello-universe
    @hello-universe 2 года назад +4

    강사님이 pause container 설명하실 때 docker ps로 확인하시는데, k8s version 1.2 이상 쓰시는 분들은 ps aux로 확인해보시면 떠 있습니다~~

    • @ttabae-learn
      @ttabae-learn  2 года назад

      아. 그렇습니다. kubectl 1.2 버전인가요?

  • @gwkim4454
    @gwkim4454 3 года назад

    정말 감사합니다 ~

    • @ttabae-learn
      @ttabae-learn  3 года назад

      [이성미 강사] 저도 감사합니다

  • @배구현-k1l
    @배구현-k1l 10 месяцев назад

    강의 잘 듣고 있습니다.
    강의실습을 따라 하다가 한가지 안되는 현상이 있어서 문의드립니다.
    master에서 nginx pod생성을 한 이후에 infra container(pause) 생성여부를 확인위해
    work_node에 접속하여 docker ps -a 를 실행했는데 아무런 정보가 출력이 되지 않던데
    무엇이 문제인지 알 수 있을까요?
    master에서 kubectl get pod 하면 nginx pod 정상생성 및 describe 명령어로 확인시에 container도 running상태로 정상인데
    아래와 같이 pod가 생성된 work_node에서는 생성된 컨테이너 정보를 docker ps -a 로 확인이 안되거든요!
    root@node2:~# docker ps -a
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

    • @ttabae-learn
      @ttabae-learn  10 месяцев назад

      동작중인 클러스터에서 docker가 아닌 containerd가 동작되고 있는지 확인해보세요.
      containerd로 동작중인 경우 crictl 명령으로 확인해야합니다.
      ---
      crictl command
      # pod 관리
      crictl pods
      crictl pods --namespace kube-system
      # image 관리
      crictl pull busybox
      crictl images
      crictl rm busyubox
      ### 참고 사이트 : github.com/kubernetes-sigs/cri-tools/blob/master/docs/crictl.md

  • @양정주-g6m
    @양정주-g6m Год назад

    강의 잘 보고 있습니다.
    궁금한 것이 init container에서 myservice와 mydb를 기동했을때 정상 작동 확인하고 myapp-pod 삭제 후 다시 생성하면 바로 running가 됩니다.
    처음엔 따로 생성해줘야 실행이 되었는데 다음부터는 그냥 같이 실행되는건가요? 아니면 삭제가 안되고 실행되고 있는건가요?

    • @ttabae-learn
      @ttabae-learn  Год назад

      init 컨테이너는 처음 실행하는 시점만 점검합니다.

  • @비크리
    @비크리 3 года назад +1

    centos 7.9 OS 세팅할 당시에 KT DNS를 세팅을 했더니 myservice.default.svc.cluster.local 도메인 ip를 찾아서 반복이 안되버리네요 ㅎㅎ;
    수정하니 잘 되었습니다
    감사합니다

    • @ttabae-learn
      @ttabae-learn  3 года назад

      [이성미 강사] 미안합니다. 제가 글 내용을 잘 이해 못했습니다. host DNS 설정이 service에 영향을 준다는 것일까요? 구체적 정보 공유 주시면 다른분들께도 도움될듯합니다.

    • @비크리
      @비크리 3 года назад +1

      ​@@ttabae-learn
      네 강사님
      OS : CentOS 7.9
      Version : 1.22.0
      control-plane에서 /etc/sysconfig/network-scripts/ifcfg-ens33 DNS1=168.126.63.1 로 지정하였었습니다.
      이후 kubectl create -f init-container-exam.yaml 을 실행하고 status가 0/2가 되길 기다렸는데 얼마 안있다가 2/2로 완료가 되면서 running 으로 진행되었습니다.
      myservice, mydb 컨테이너는 이미 종료가 된 상황이기에 myapp-container로 진입하였습니다.
      #> kubectl exec myapp-pod -c myapp-container -it -- sh
      #> nslookup myservice.$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace).svc.cluster.local
      Server: 10.96.0.10
      Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local
      Name: myservice.default.svc.cluster.local
      Address 1: 185.53.177.54
      실행결과가 이리 나왔습니다. 결과가 나오니 반복문이 정상적으로 종료되어 컨테이너가 실행된것 같습니다
      coredns 정보를 확인해보고자 아래 커맨드를 입력하였습니다.
      #> kubectl get svc --namespace=kube-system
      kube-dns ClusterIP 10.96.0.10 53/UDP,53/TCP,9153/TCP 17d
      #> kubectl -n kube-system edit configmap coredns
      apiVersion: v1
      data:
      Corefile: |
      .:53 {
      errors
      health {
      lameduck 5s
      }
      ready
      kubernetes cluster.local in-addr.arpa ip6.arpa {
      pods insecure
      fallthrough in-addr.arpa ip6.arpa
      ttl 30
      }
      prometheus :9153
      forward . /etc/resolv.conf {
      max_concurrent 1000
      }
      cache 30
      loop
      reload
      loadbalance
      }
      kind: ConfigMap
      coredns가 /etc/resolve.conf를 참조하고 있는 것 같더군요.
      일단 network 설정에서 dns1를 빼고 다시 재부팅후 로그를 확인해봤더니
      coredns "no nameservers found" 라고 나오고 myservice, mydb 서비스를 등록해도 coredns pod가 CrashLoopBackOff 상태라서 못 찾더군요
      그래서 dns1을 coredns ip(10.96.0.10) 으로 넣고 재부팅하니 잘 진행되었습니다.
      제가 해결한 방식이 이게 맞는지 아직은 강의를 끝까지 안 들어서 모르겠습니다 ^^;
      감사합니다.

    • @ttabae-learn
      @ttabae-learn  3 года назад

      [이성미 강사] 네. kubernetes는 기본 pod, service에 대한 DNS를 지원하고 있습니다.
      pod와 service 통신은 10.96.0.10의 kube-dns 서비스를 사용하면 됩니다.
      kubernetes.io/ko/docs/concepts/services-networking/dns-pod-service/

  • @김대광-k9z
    @김대광-k9z 2 года назад

    webserver 실행 중인 노드에 접속해서 docker ps 했는데 안나옵니다... 상태도 Running 중인데... 개념만 알아두겠습니다...

    • @ttabae-learn
      @ttabae-learn  2 года назад

      실습이 안나올수가 없는 내용이에요. 혹시 오류난 페이지를 캡쳐해서 메일로 보내보세요.

    • @Yian-jj6sl
      @Yian-jj6sl 2 года назад +1

      kubernetes 버전 1.24 부터 docker 를 사용하지 않으므로 docker ps 해도 표시가 안될듯합니다. 대신 crictl ps 하면 나와요

  • @jiheeseo464
    @jiheeseo464 2 года назад

    카타코다에서 똑같이 해봤는데 init 컨테이너 스테이터스가 0에서 바뀌질 않아서 myapp이 정상동작되지 않는데 이유를 알 수있을까요?
    물론 2개 서비스 모두 동작시켰고 service/mydb created 도 제대로 나왔습니다

    • @ttabae-learn
      @ttabae-learn  2 года назад

      글만 봐서는 어떤 상황인지 모르겠습니다. yaml을 보여주시면 도움될듯요.

  • @짙은-t6w
    @짙은-t6w Год назад

    강의 잘 듣고 있습니다.
    다름이 아니라 20:30 초 쯤에 ssh 명령어로 워커 노드에 접속하는 부분이 있는데 제가 워커노드 이름을 k8s-node1 으로 하여 ssh k8s-node1 명령을 입력하고 password도 올바르게 입력을 했는데 접속이 안되고 Permission denied, please try again 이라는 문구만 계속 나옵니다 왜 그런지 알 수 있을까요?
    그리구 root@master가 아닌 guru@master 에서는 guru@node1으로 ssh 접속이 가능한데 그 이유도 궁금합니다
    ps. 인터넷에서 찾아보니 sshd_config 라는 파일의 PasswordAuthentication 을 yes로 바꾸라는 말이 있어 똑같이 해보았지만 안됩니당

    • @김하영-p5t
      @김하영-p5t Год назад +2

      댓글 다신지는 오래되셨지만 혹시나 해서 댓글 남겨용
      master
      - ssh-keygen -t rsa
      - cd .ssh 안에 있는 id_rsa.pub 공개 키를 복사
      node2
      - node2의 cd .ssh 안에서 cat > authorized_keys 로 master에서 복사한 키 붙여넣기
      master
      - 다시 master로 돌아와서 ssh node2 로 접속해보면 패스워드 없이 접속이 가능하다.
      저는 이렇게 해서 접속 했어요
      출처: itsolution.co.kr/free/195?page=8

    • @ttabae-learn
      @ttabae-learn  Год назад

      고맙습니다.