イングレス - nginxの可用性

nginxの入コントローラの最新バージョン:0.30.0ケーススタディ 

イングレス高可用性アーキテクチャは次のとおりです。

 

開き  https://github.com/kubernetes/ingress-nginx/blob/master/deploy/static/mandatory.yamlを  、そして生mandatory.yamlをダウンロードし、そのnginxの入コントローラー部分を修正

1、展開がDaemonSetあり、変更、およびコピー数をコメントアウト

2、hostNetworkネットワークを有効にし、指定されたノードを実行します

関連事業、このノードのホストノードは、このアプリケーションがポートを介してアクセス可能なネットワーク上の他のホストのホストへの進入、nginxのコントローラポートのhostNetwork露光。

イングレス・コントローラを追加=真のタグ予め指定されたノードnodeSelector

3、ミラーアドレスの変更

図4に示すように、増加した耐性マスタノード(オプション)

tolerations:#増加公差、マスターノードに割り当てることができます
       -キー:node-role.kubernetes.io/master 
        演算子存在
        効果:NoSchedule 

 

変更後:

apiVersion:アプリ/ V1 
#kind:展開種類:DaemonSet 
M
 etadata:
  名前:nginxの入コントローラ
  名前空間:入nginxの
  ラベル:
    K8S -app:入力コントローラ
スペック:
  #replicas:1 
  セレクタ:
    matchLabels:
      K8S -app:イングレス・コントローラ
  テンプレート:
    メタデータ:
      ラベル:
        K8S -app:イングレス・コントローラ
      注釈: 
        prometheus.io/port: "10254" 
        prometheus.io/scrape: "真" 
    スペック: 
      #接続のドレインのために5分まで待ちます
      terminationGracePeriodSeconds:300 
      serviceAccountName:nginxの -ingress- serviceaccount
       hostNetwork:
      nodeSelector:侵入
         -controller: "真"

        tolerations:#増加公差、マスターノードに割り当てることができます
          -キー:「node-role.kubernetes.io/master」
            演算子:「存在」
            効果:「NoSchedule」

       コンテナ: 
        -名前:nginxの入コントローラの
          画像:registry-vpc.cn-beijing.aliyuncs.com/base/nginx-ingress-controller:0.30.0 
          引数:
            - / nginxの入コントローラ
            - --configmap = $ (POD_NAMESPACE)/ nginxの-設定
            - --tcp-サービス-configmap = $(POD_NAMESPACE)/ TCP-サービス
            - --udp-サービス-configmap = $(POD_NAMESPACE)/ UDP-サービス
            - --publishサービス= $( POD_NAMESPACE)/進入-nginxの
            - --annotationsプレフィックス= nginx.ingress.kubernetes.io 
          たSecurityContext:
            allowPrivilegeEscalation:真
            の能力:
              ドロップ:
                 -ALL 
              アドオン:
                 - NET_BIND_SERVICE 
            #WWW -データ- > 101 
            runAsUser:101 
          ENV:
             - 名前:POD_NAME 
              valueFromおよび:
                するFieldRef:
                  fieldPath:metadata.name
             - 名前:POD_NAMESPACE 
              valueFromおよび: 
                するFieldRef:
                  fieldPath:metadata.namespaceの
          ポート:
            -名前:HTTP 
              containerPort :80 
              プロトコル:TCP
             - 名前:HTTPS 
              containerPort:443 
              プロトコル:TCP 
          livenessProbe:
            failureThreshold:3 
            HTTPGET:
              パス: / healthzの
              ポート:10254 
              スキーム:HTTP 
            initialDelaySeconds:10 
            periodSeconds:10 
            successThreshold:1 
            timeoutSecondsの:10 
          readinessProbe:
            failureThreshold:3 
            HTTPGET:
              パス: / healthzの
              ポート:10254
              スキーム:HTTP 
            periodSeconds:10 
            successThreshold:1 
            timeoutSecondsの:10 
          ライフサイクル:
            PRESTOP:
              EXEC:
                コマンド:
                   - /待機シャットダウン

 

ノードのタグ付け:

#kubectlラベルノードマスタ92入力コントローラ=「true」に

 

おすすめ

転載: www.cnblogs.com/wjoyxt/p/12398661.html