K 8 Sプロファイルの詳細

10270 ワード

K 8 S入門学習一
  • K 8 Sプロファイル詳細
  • K8s YAML
  • Deployment YAMLファイル
  • を作成する
  • サービスYAMLファイル
  • を作成する
    K 8 Sプロファイルの詳細
    K8s YAML
    コマンドkubectl api-versionsを使用して、現在のバージョンでサポートされているapiVersionを表示します.KubernetesバージョンDeploymentバージョンv 1.5-v1.15 extensions/v1beta1 v1.7-v1.15 apps/v1beta1 v1.8-v1.15 apps/v1beta2 v1.9+ apps/v1
    Deployment YAMLファイルの作成
    Deployment YAMLプロファイルに関するプロパティの説明.
    apiVersion: apps/v1  #   api  ,     kubectl api-versions   
    kind: Deployment  #          /     
    metadata:  #       /   
      name: demo  #      ,    namespace     
      namespace: default #      namespace 
      labels:  #        
        app: demo
        version: stable
    spec: #       
      replicas: 1 #       
      revisionHistoryLimit: 3 #       
      selector: #    
        matchLabels: #     
          app: demo
          version: stable
      strategy: #   
        rollingUpdate: #     
          maxSurge: 30% #             ,      ,      
          maxUnavailable: 30% #                   Pod     ,      ,      
        type: RollingUpdate #       
      template: #   
        metadata: #       /   
          annotations: #        
            sidecar.istio.io/inject: "false" #        
          labels: #        
            app: demo
            version: stable
        spec: #       
          containers:
          - name: demo #         
            image: demo:v1 #             
            imagePullPolicy: IfNotPresent #   Pod        ,     Always、Never、IfNotPresent
                                          # Always,     ;Never,      (       );IfNotPresent,         ,       (     ,
                                          #         docker    ,         ,
                                          #         ,          ,        ,      )
            resources: #     
              limits: #     
                cpu: 300m # CPU1   = 1000m
                memory: 500Mi #   ,1G = 1000Mi
              requests:  #      ,      ,                    
                cpu: 100m
                memory: 100Mi
            livenessProbe: # pod          
              httpGet: #   httpget    ,  200-399  ,       
                path: /healthCheck # URI  
                port: 8080 #   
                scheme: HTTP #   
                # host: 127.0.0.1 #     
              initialDelaySeconds: 30 #                     
              timeoutSeconds: 5 #        
              periodSeconds: 30 #       
              successThreshold: 1 #     
              failureThreshold: 5 #     ,    5 ,pod  ,      pod
            readinessProbe: # Pod           
              httpGet:
                path: /healthCheck
                port: 8080
                scheme: HTTP
              initialDelaySeconds: 30
              timeoutSeconds: 5
              periodSeconds: 10
              successThreshold: 1
              failureThreshold: 5
          	#           
          	#exec:0,          
          	#  command:   
          	#    - cat   
          	#    - /tmp/health   
          	#           
          	#tcpSocket: #   tcpSocket      
          	#  port: number 
            ports:
              - name: http #   
                containerPort: 8080 #           
                protocol: TCP #   
          imagePullSecrets: #         
            - name: harbor-certification
          affinity: #      
            nodeAffinity: #      
              requiredDuringSchedulingIgnoredDuringExecution: # pod              
                nodeSelectorTerms: #              
                - matchExpressions: #      ,                     pod
                  - key: beta.kubernetes.io/arch
                    operator: In
                    values:
                    - amd64
    

    サービスYAMLファイルの作成
    Service.
    apiVersion: v1 #   api  ,     kubectl api-versions  
    kind: Service #          /   
    metadata: #       /  
      name: demo #      ,    namespace     
      namespace: default #      namespace 
      labels: #        
        app: demo
    spec: #       
      type: ClusterIP # ClusterIP   
      ports:
        - port: 8080 # service   
          targetPort: http #        
          protocol: TCP #   
          name: http #     
      selector: #    
        app: demo