一、在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/v1beta1kind: 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...