istio 禁用 允許sidecar設定

2022-05-08 12:54:10 字數 2049 閱讀 8179

一、在namespace設定自動注入:

給 default 命名空間設定標籤:istio-injection=enabled:

$ kubectl label namespace default istio-injection=enabled

$ kubectl get namespace -l istio-injection

name status age istio-injection

default active 1h enabled

istio-system active 1h

kube-public active 1h

kube-system active 1h

這樣就會在 pod 建立時觸發 sidecar 的注入過程了。刪掉執行的 pod,會產生乙個新的 pod,新 pod 會被注入 sidecar。原有的 pod 只有乙個容器,而被注入 sidecar 的 pod 會有兩個容器:

$ kubectl delete pod sleep-776b7bcdcd-7hpnk

$ kubectl get pod

name ready status restarts age

sleep-776b7bcdcd-7hpnk 1/1 terminating 0 1m

sleep-776b7bcdcd-bhn9m 2/2 running 0 7s

檢視被注入的 pod 的細節。不難發現多出了乙個 istio-proxy 容器及其對應的儲存卷。注意用正確的 pod 名稱來執行下面的命令:

$ kubectl describe pod sleep-776b7bcdcd-bhn9m
禁用 default 命名空間的自動注入功能,然後檢查新建 pod 是不是就不帶有 sidecar 容器了:

$ kubectl label namespace default istio-injection-

$ kubectl delete pod sleep-776b7bcdcd-bhn9m

$ kubectl get pod

name ready status restarts age

sleep-776b7bcdcd-bhn9m 2/2 terminating 0 2m

sleep-776b7bcdcd-gmvnr 1/1 running 0 2s

二、在annotations中設定是否允許自動注入:

disabled - sidecar 注入器預設不會向 pod 進行注入。在 pod 模板中加入 sidecar.istio.io/inject 註解並賦值為 true 才能啟用注入。

enabled - sidecar 注入器缺省會對 pod 進行注入。在 pod 模板中加入 sidecar.istio.io/inject 註解並賦值為 false 就會阻止對這一 pod 的注入。

下面的例子用 sidecar.istio.io/inject 註解來禁用 sidecar 注入:

apiversion: extensions/v1beta1

kind: deployment

metadata:

name: ignored

spec:

template:

metadata:

annotations:

sidecar.istio.io/inject: "false"

spec:

containers:

- name: ignored

image: tutum/curl

command: ["/bin/sleep","infinity"]

參考:

istio部署 sidecar注入

工作負載的 pod 必須有關聯的 service 準備測試用 yaml 檔案 cd 新的 yaml 檔案中多出了 sidecar 容器,並且出現了1個初始化容器 initcontainers istio init 初始化容器即用來劫持應用通訊到 sidecar 容器的工具 istioctl kube...

php禁用cookie後session設定方法分析

我們都知道當在session 會話有基於cookie和基於url兩種傳遞sessionid的方法。為了實現客戶端禁止cookie傳送的情況也不影響客戶登陸 可以設定 php.ini中 session.use trans sid 1 表示當客戶端瀏覽器禁止cookie的時候,頁面上的鏈結會基於url傳...

禁用cookie後session是如何設定的

當在session會話有基於cookie和基於url兩種傳遞sessionid的方法。為了實現客戶端禁止cookie傳送的情況也不影響客戶登陸 可以設定php.ini中 session.use trans sid 1,表示當客戶端瀏覽器禁止cookie的時候,頁面上的鏈結會基於url傳遞sessio...