簡體   English   中英

Kubernetes 入口 - AKS

[英]Kubernetes ingress - AKS

我已經按照 nginx 中提到的步驟進行了 kubernetes ,為了在azure中安裝它,我運行了以下

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/cloud/deploy.yaml

我打開了該文件並在# Source: ingress-nginx/templates/controller-deployment.yaml部分下我可以看到resources ,有沒有辦法覆蓋它並設置cpumemory限制該ingress ,我也想知道里面的所有東西是否都是可定制的。

我想知道里面的所有東西是否都是可定制的。

幾乎所有東西都是可定制的,但請記住,您必須確切知道要更改的內容,否則可能會破壞您的入口。

有沒有辦法覆蓋它並為該入口設置 cpu 和 memory 限制?

除了在部署之前下載和編輯文件之外,您還可以通過以下三種方式在運行時對其進行自定義:

  1. Kubectl 編輯:

    • 編輯命令允許您直接編輯可以通過命令行工具檢索的任何 API 資源。
    • 它將打開由您的 KUBE_EDITOR 或 EDITOR 環境變量定義的編輯器,或者回退到 Linux 的“vi”或 Windows 的“記事本”。
    • 您可以編輯多個對象,但一次只應用一個更改。 例子:
kubectl edit deployment ingress-nginx-controller -n ingress-nginx

這是將打開文件中提到的部署的命令。 如果您進行了無效更改,它將不會應用並將保存到臨時文件中,因此請記住這一點,如果它不適用,則您更改了一些您不應該喜歡的結構。

  1. 使用 yaml 文件的Kubectl 補丁
    • 使用戰略合並補丁、JSON 合並補丁或 JSON 補丁更新資源的字段。
    • 接受 JSON 和 YAML 格式。

創建一個名為patch-nginx.yaml的簡單文件,其中包含最少的以下內容(您希望更改的參數及其結構):

spec:
  template:
    spec:
      containers:
        - name: controller
          resources:
            requests:
              cpu: 111m
              memory: 99Mi

命令結構為: kubectl patch <KIND> <OBJECT_NAME> -n <NAMESPACE> --patch "$(cat <FILE_TO_PATCH>)"

這是一個完整的例子:

$ kubectl patch deployment ingress-nginx-controller -n ingress-nginx --patch "$(cat patch-nginx.yaml)" 
deployment.apps/ingress-nginx-controller patched

$ kubectl describe deployment ingress-nginx-controller -n ingress-nginx | grep cpu
      cpu:      111m
$ kubectl describe deployment ingress-nginx-controller -n ingress-nginx | grep memory
      memory:   99Mi
  1. 具有 JSON 格式的 Kubectl 補丁
    • 這是單行版本,它遵循與 yaml 版本相同的結構,但我們將在 json 結構中傳遞參數:
$ kubectl patch deployment ingress-nginx-controller -n ingress-nginx --patch '{"spec":{"template":{"spec":{"containers":[{"name":"controller","resources":{"requests":{"cpu":"122m","memory":"88Mi"}}}]}}}}'
deployment.apps/ingress-nginx-controller patched

$ kubectl describe deployment ingress-nginx-controller -n ingress-nginx | grep cpu
      cpu:      122m
$ kubectl describe deployment ingress-nginx-controller -n ingress-nginx | grep memory
      memory:   88Mi

如果您有任何疑問,請在評論中告訴我。

評論建議什么(下載文件並手動覆蓋它或使用 helm chart)或使用kubectl edit deployment xxx並設置這些限制\請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM