1. 程式人生 > >Kube-API Server

Kube-API Server

概要

Kubernetes API伺服器為API物件驗證和配置資料,這些物件包含Pod,Service,ReplicationController等等。API Server提供REST操作以及前端到叢集的共享狀態,所有其它元件可以通過這些共享狀態互動。
kube-apiserver

選項

–admission-control=”AlwaysAdmit”:叢集中資源的Admission Controller的外掛的有序列表,分別使用逗號分隔,AlwaysAdmit, –admission-control-config-file=””: Admission Controller配置檔案。
–advertise-address=<nil>: 廣播API Server給所有叢集成員的IP地址。其它叢集都可以訪問該IP地址,如果為空,會使用—-allow-privileged[=false]: true,表示允許特權容器。 –authorization-mode=”AlwaysAllow”: 安全埠授權外掛的有序列表,分別以逗號分隔,AlwaysAllow,AlwaysDeny,ABAC–authorization-policy-file=””: 授權策略的CSV檔案,使用於–authorization-mode=ABAC模式的配置。
–basic-auth-file=””: 如果配置該選項,該檔案會通過HTTP基本認證允許API Server安全埠的請求。 –bind-address=0.0.0.0: 服務–read-only-port和–secure-port埠的IP地址。相關介面必須是其它叢集通過CLI/web客–cert-dir=”/var/run/kubernetes”: TLS證書的目錄(預設/var/run/kubernetes)。如果配置–tls-cert-file和–tls—client-ca-file=””: 如果設定,任何提交客戶端證書的請求都會驗證與相關客戶端證書的CommonName的身份。該客戶端證書是–cloud-config=””: 雲提供商配置檔案的路徑,空表示沒有該配置檔案。
–cloud-provider=””: 雲服務的提供商,空表示沒有該提供商。 –cluster-name=”kubernetes”: 叢集例項的字首。 –cors-allowed-origins=[]: CORS的允許起源(allowed origins, 翻譯待考慮)的列表,用逗號分隔。一個允許起源可以是–etcd-config=””: ETCD客戶端的配置檔案,與-etcd-servers配置項互斥。 –etcd-prefix=”/registry”: ETCD中所有資源路徑的字首。 –etcd-servers=[]: ETCD伺服器( http://ip:port )列表,以逗號分隔。與-etcd-config配置項互斥。 –etcd-servers-overrides=[]: 每個資源ETCD伺服器覆蓋檔案,以逗號分隔。獨立覆蓋格式,group/resource#servers,服–event-ttl=1h0m0s: 保留事件的時間值,預設1小時。 –experimental-keystone-url=””: 如果Passed,啟用Keystone認證外掛。 –external-hostname=””: 為Master生成外部URLs使用的主機名。 –google-json-key=””: 使用者Google Cloud Platform Service Account JSON Key認證。 –insecure-bind-address=127.0.0.1:非安全埠(所有介面都設定為0.0.0.0)的服務IP地址。預設是本地地址。 –insecure-port=8080: 不安全且沒有認證的程序訪問埠,預設8080。假設防火牆規則設定該埠從叢集外部禁止訪問,並且在–kubelet-certificate-authority=””: 證書路徑。證書授權檔案。 –kubelet-client-certificate=””: TLS客戶端證書檔案路徑。 –kubelet-client-key=””: TLS客戶端祕鑰檔案路徑。 –kubelet-https[=true]: 使用https建立Kubelet連線。 –kubelet-port=10250: Kubelet埠。 –kubelet-timeout=5s: Kubelet操作Timeout值。 –log-flush-frequency=5s: 日誌緩衝秒數的最大值。 –long-running-request-regexp=”(/|^)((watch|proxy)(/|$)|(logs?|portforward|exec|attach)/?$)”: 匹配長–master-service-namespace=”default”: Namespace,該Namespace的Kubernetes主服務應該注入Pod。 –max-connection-bytes-per-sec=0: 如果非零,表示每個使用者連線的最大值,位元組數/秒,當前只適用於長時間執行的請求。 –max-requests-inflight=400: 給定時間內執行的請求的最大值。如果超過最大值,該請求就會被拒絕。零表示沒有限制。 –min-request-timeout=1800: 這是個可選欄位,表示一個請求處理的最短時間,單位是秒。在超時之前,這個請求必須是啟用的–oidc-ca-file=””: 如果設定該選項,Oidc-ca-file中的相關機構會驗證OpenID服務的證書。否則,會使用主機的根證書。 –oidc-client-id=””: 如果設定了oidc-issuer-url欄位,該欄位,OpenID連線客戶端的客戶ID也必須設定。 –oidc-issuer-url=””: OpenID發行的URL,只接受HTTPS協議。如果設定該欄位,將被用來驗證OIDC JSON Web Token(JWT)–oidc-username-claim=”sub”: 。預設值之外的那些值,可能是不唯一的,可變的。這個標誌還在嘗試中,詳情請參考Authentication –profiling[=true]: 通過web介面進行分析 host:port/debug/pprof/。 –runtime-config=: key=value鍵值對集,描述執行時配置,也會回傳輸到apiserver。apis/鍵值用於開啟–secure-port=6443: 用於HTTPS的認證和授權。0表示不支援HTTPS服務。 –service-account-key-file=””: 該檔案包含RPM-encoded x509 RSA的私鑰和公鑰,用於驗證ServiceAccount的Token。–service-account-lookup[=false]: true, 表示驗證Service Account的Token做為Authentication一部分在ETCD中的–service-cluster-ip-range=: CIDR標記的IP範圍,從中分配IP給服務叢集。該範圍不能與分配給Pod節點的任何IP範圍–service-node-port-range=: NodePort可見性服務的埠範圍,包含範圍的兩端。如’30000-32767’,包含30000和32767–ssh-keyfile=””: 如果非空,使用安全SSH代理到該節點,用該祕鑰檔案。 –ssh-user=””: 如果非空,使用安全SSH代理到該節點,用該使用者名稱。 –storage-versions=”extensions/v1beta1,v1″: 儲存資源的版本。不同的組儲存在不同的版本里面,指定格式”group1/version1,–tls-cert-file=””: 該檔案包含HTTPS的x509證書。(CA證書,如果存在,連線在伺服器證書之後)。如果支援HTTPS服務,且沒–tls-private-key-file=””: 該檔案包含x509私鑰匹配項–tls-cert-file. –token-auth-file=””: 該檔案使用Token驗證保護API Server的安全埠。 –watch-cache[=true]: 可以在API Server檢視快取。