kubectl create ingress

概要

使用指定的名稱建立 Ingress。

kubectl create ingress NAME --rule=host/path=service:port[,tls[=secret]] 

範例

  # Create a single ingress called 'simple' that directs requests to foo.com/bar to svc
  # svc1:8080 with a TLS secret "my-cert"
  kubectl create ingress simple --rule="foo.com/bar=svc1:8080,tls=my-cert"
  
  # Create a catch all ingress of "/path" pointing to service svc:port and Ingress Class as "otheringress"
  kubectl create ingress catch-all --class=otheringress --rule="/path=svc:port"
  
  # Create an ingress with two annotations: ingress.annotation1 and ingress.annotations2
  kubectl create ingress annotated --class=default --rule="foo.com/bar=svc:port" \
  --annotation ingress.annotation1=foo \
  --annotation ingress.annotation2=bla
  
  # Create an ingress with the same host and multiple paths
  kubectl create ingress multipath --class=default \
  --rule="foo.com/=svc:port" \
  --rule="foo.com/admin/=svcadmin:portadmin"
  
  # Create an ingress with multiple hosts and the pathType as Prefix
  kubectl create ingress ingress1 --class=default \
  --rule="foo.com/path*=svc:8080" \
  --rule="bar.com/admin*=svc2:http"
  
  # Create an ingress with TLS enabled using the default ingress certificate and different path types
  kubectl create ingress ingtls --class=default \
  --rule="foo.com/=svc:https,tls" \
  --rule="foo.com/path/subpath*=othersvc:8080"
  
  # Create an ingress with TLS enabled using a specific secret and pathType as Prefix
  kubectl create ingress ingsecret --class=default \
  --rule="foo.com/*=svc:8080,tls=secret1"
  
  # Create an ingress with a default backend
  kubectl create ingress ingdefault --class=default \
  --default-backend=defaultsvc:http \
  --rule="foo.com/*=svc:8080,tls=secret1"

選項

--allow-missing-template-keys     預設值:true

如果為 true,則在範本中遺失欄位或對應鍵時,忽略範本中的任何錯誤。僅適用於 golang 和 jsonpath 輸出格式。

--annotation strings

要插入 Ingress 物件的註解,格式為 annotation=value

--class string

要使用的 Ingress 類別

--default-backend string

後端的預設服務,格式為 svcname:port

--dry-run string[="unchanged"]     預設值:"none"

必須為 "none"、"server" 或 "client"。如果為 client 策略,則僅列印將傳送的物件,而不傳送它。如果為 server 策略,則提交伺服器端請求,而不持久化資源。

--field-manager string     預設值:"kubectl-create"

用於追蹤欄位所有權的管理員名稱。

-h, --help

Ingress 的說明

-o, --output string

輸出格式。選項之一:(json、yaml、name、go-template、go-template-file、template、templatefile、jsonpath、jsonpath-as-json、jsonpath-file)。

--rule strings

格式為 host/path=service:port[,tls=secretname] 的規則。包含前導字元 '*' 的路徑被視為 pathType=Prefix。tls 引數是選用的。

--save-config

如果為 true,則目前物件的組態將儲存在其註解中。否則,註解將保持不變。當您想要在未來對此物件執行 kubectl apply 時,此旗標很有用。

--show-managed-fields

如果為 true,則在 JSON 或 YAML 格式列印物件時保留 managedFields。

--template string

當 -o=go-template、-o=go-template-file 時要使用的範本字串或範本檔案的路徑。範本格式為 golang 範本 [https://go.dev.org.tw/pkg/text/template/#pkg-overview]。

--validate string[="strict"]     預設值:"strict"

必須為以下選項之一:strict (或 true)、warn、ignore (或 false)。"true" 或 "strict" 將使用綱要來驗證輸入,如果無效則請求失敗。如果 API 伺服器上啟用了 ServerSideFieldValidation,它將執行伺服器端驗證,但如果未啟用,則會退回較不可靠的用戶端驗證。"warn" 將警告未知或重複的欄位,而不會阻止請求(如果在 API 伺服器上啟用了伺服器端欄位驗證),否則行為與 "ignore" 相同。"false" 或 "ignore" 將不執行任何綱要驗證,並靜默捨棄任何未知或重複的欄位。

--as string

要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶。

--as-group strings

要模擬操作的群組,可以重複此旗標以指定多個群組。

--as-uid string

要模擬操作的 UID。

--cache-dir string     預設值:"$HOME/.kube/cache"

預設快取目錄

--certificate-authority string

憑證授權單位的憑證檔案路徑

--client-certificate string

TLS 的用戶端憑證檔案路徑

--client-key string

TLS 的用戶端金鑰檔案路徑

--cluster string

要使用的 kubeconfig 叢集名稱

--context string

要使用的 kubeconfig 內容名稱

--default-not-ready-toleration-seconds int     預設值:300

指示預設新增至每個尚未具有此容忍度的 Pod 的 notReady:NoExecute 容忍度的 tolerationSeconds。

--default-unreachable-toleration-seconds int     預設值:300

指示預設新增至每個尚未具有此容忍度的 Pod 的 unreachable:NoExecute 容忍度的 tolerationSeconds。

--disable-compression

如果為 true,則選擇退出伺服器所有請求的回應壓縮

--insecure-skip-tls-verify

如果為 true,則不會檢查伺服器的憑證是否有效。這會使您的 HTTPS 連線不安全

--kubeconfig string

用於 CLI 請求的 kubeconfig 檔案路徑。

--match-server-version

要求伺服器版本與用戶端版本相符

-n, --namespace string

如果存在,則此 CLI 請求的命名空間範圍

--password string

API 伺服器的基本身份驗證密碼

--profile string     預設值:"none"

要擷取的設定檔名稱。選項之一 (none|cpu|heap|goroutine|threadcreate|block|mutex)

--profile-output string     預設值:"profile.pprof"

要將設定檔寫入的檔案名稱

--request-timeout string     預設值:"0"

放棄單個伺服器請求之前要等待的時間長度。非零值應包含對應的時間單位(例如 1s、2m、3h)。值零表示請求永不逾時。

-s, --server string

Kubernetes API 伺服器的位址和埠

--storage-driver-buffer-duration duration     預設值:1m0s

儲存驅動程式中的寫入將緩衝此持續時間,並作為單個交易提交到非記憶體後端

--storage-driver-db string     預設值:"cadvisor"

資料庫名稱

--storage-driver-host string     預設值:"localhost:8086"

資料庫主機:埠

--storage-driver-password string     預設值:"root"

資料庫密碼

--storage-driver-secure

使用與資料庫的安全連線

--storage-driver-table string     預設值: "stats"

資料表名稱

--storage-driver-user string     預設值: "root"

資料庫使用者名稱

--tls-server-name string

用於伺服器憑證驗證的伺服器名稱。若未提供,則會使用用於連線伺服器的主機名稱

--token string

用於 API 伺服器身份驗證的 Bearer 權杖

--user string

要使用的 kubeconfig 使用者名稱

--username string

用於 API 伺服器的基本身份驗證的使用者名稱

--version version[=true]

--version、--version=raw 印出版本資訊並結束;--version=vX.Y.Z... 設定回報的版本

--warnings-as-errors

將從伺服器收到的警告視為錯誤,並以非零的結束代碼退出

參見

此頁面為自動產生。

如果您計劃回報此頁面的問題,請在您的問題描述中提及此頁面為自動產生。此修正可能需要在 Kubernetes 專案的其他地方進行。

上次修改時間:2024 年 12 月 12 日下午 2:44 PST:Update kubectl reference for v1.32 (5c2cfa02af)