クーバーネス学習1

2730 ワード

開発環境
  • 窓口10 pro
  • wsl2, window for docker
  • minikube
  • minikubeインストールリンクテキスト
    デフォルトコマンド
    $ minikube start
    $ minikube status
    $ minikube stop
    $ minikube delete
    
    $ kubectl get nodes
    $ kubectl get pods
    // 야믈파일로 redis123이미지로 redis.yaml을 만든다.
    $ kubectl run redis --image=redis123 --dry-run=client -o yaml > redis.yaml
    // 만든 야믈로 pod 생성
    $ kubectl create pod redis.yaml
    // 생성된 pods 확인
    $ kubectl get pods
    // 특정 pod 상세정보  -> redis123 이미지 잘못 수정 필요
    $ kubectl decribe pod redis
    $ kubectl edit pod redis
    // redis 파드 수정 후 몇 초 걸려서 pod 정상 재실행
    $ kubectl get pods
    // pods들 실시간 변화 확인가능
    $ kubectl get pods -o wide --watch
    LivenessProbeは
    LivenessProbeコンテナの健康診断!
  • nginx.yaml
  • ...
    
        livenessProbe:
          httpGet:
            path: /
            port: 80
            
          periodSeconds: 30
          successThreshold: 1
          timeoutSeconds: 3
          failureThreshold: 3
  • 80港寄りコンテナのhealty点検.
  • periodSecondssuccessThresholdtimeoutSecondsfailureThreshold・を明記しなければ디폴트値で実行する.
  • 練習する.
    質問:
  • 5秒ごとにPod内の容器に/tmp/healtyファイルがあるかチェック
  • Pod運転10秒後検査開始
  • 成功回数1回、失敗回数2回連続
  • 正解
  • apiVersion: v1
    
    kind: Pod
    metadata:
      name: liveness-exam
    spec:
      containers:
      - name: busybox-container
        image: busybox
        args:
        - /bin/sh
        - -c
        - touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600
        livenessProbe:
          exec:
            command:
            - ls
            - /tmp/healthy
          initialDelaySeconds: 10
          periodSeconds: 5
          successThreshold: 1
          failureThreshold: 2
          ```