使用如下命令檢視 kiali pod 詳情:
kubectl edit pod -n istio-system $(kubectl get pods -n istio-system | grep -i kiali | awkkiali pod 內只有乙個容器,名稱為 kiali。該容器在啟動的過程中會執行容器內 kiali 程序,該程序會載入 /kiali-configuration/config.yaml 配置檔案,該 config.yaml 檔案定義了 kiali 程序執行時行為。pod 部分詳情如下:'')
spec:kiali pod 內 /kiali-configuration/config.yaml 配置檔案是通過掛載 configmap 獲取到的,如下:containers:
-command:
- /opt/kiali/kiali
- -config
- /kiali-configuration/config.yaml
- -v
- "3"
volumemounts:configmap 資訊如下:- mountpath: /kiali-configuration
name: kiali-configuration
volumes: -可以通過語句檢視 kiali configmap 內容:configmap:
defaultmode:
420name: kiali
name: kiali
-configuration
kubectl edit configmap -n istio-system kialikiali configmap 部分內容如下:
apiversion: v1由上面可知,configmap 最終會以 config.yaml 檔案的形式掛載到 kiali pod 中的 /kiali-configuration 目錄下。data:
config.yaml: |auth:
openid: {}
...kind: configmap
metadata:
annotations:
...
檢視pod
[root@k8s-master ~]# kubectl get pods -n istio-system |grep進入 kiali pod 檢視kiali
kiali-667b888c56-8h7cp 1/1 running 1 3h26m
[root@k8s-master ~]# kubectl exec -it -n istio-system kiali-667b888c56-8h7cp /bin/config.yaml 內容如下:bash
kubectl exec [pod] [command] is deprecated and will be removed
in a future version. use kubectl kubectl exec [pod] --[command] instead.
[kiali@kiali-667b888c56-8h7cp kiali]$ ls /kiali-configuration/
config.yaml
[kiali@kiali-667b888c56-8h7cp kiali]$
[kiali@kiali-667b888c56-8h7cp kiali]$ cat /kiali-configuration/config.yamlview codeauth:
openid: {}
openshift:
client_id_prefix: kiali
strategy: anonymous
deployment:
accessible_namespaces:
- '**'
additional_service_yaml: {}
affinity:
node: {}
pod: {}
pod_anti: {}
custom_dashboards:
excludes:
- ""
includes:
- '*'
image_name: quay.io/kiali/kiali
image_pull_policy: always
image_pull_secrets:
image_version: v1.
26ingress_enabled:
false
namespace: istio-system
node_selector: {}
override_ingress_yaml:
metadata: {}
pod_annotations:
sidecar.istio.io/inject: "
false
"pod_labels: {}
priority_class_name:
""replicas:
1resources: {}
secret_name: kiali
service_annotations: {}
service_type:
""tolerations:
verbose_mode: "3
"version_label: v1.
26.0
view_only_mode:
false
external_services:
custom_dashboards:
enabled:
true
identity:
cert_file:
""private_key_file:
""istio_namespace: istio-system
login_token:
signing_key: changeme
server:
metrics_enabled:
true
metrics_port:
9090
port:
20001
web_root: /kiali
該配置檔案定義了 kiali 行為,下面分別介紹如下:
首先宣告 istio 自身以及 istio 外掛程式在 k8s 哪個命名空間下:
# istio 自身其次介紹 kiali 鑑權方式:istio_namespace: istio-system
auth:再次介紹 kiali deployment 可以訪問的 k8s 命名空間:openid: {}
openshift:
client_id_prefix: kiali
strategy: anonymous # 通過匿名使用者登入
deployment:接著介紹 kiali 對外服務的埠號和訪問路徑:accessible_namespaces:
- '**' # 沒有限制,可訪問任何命名空間
server:metrics_enabled:
true
metrics_port:
9090
port:
20001
web_root: /kiali
istio kiali 內部介紹
使用如下命令檢視 kiali pod 詳情 kubectl edit pod n istio system kubectl get pods n istio system grep i kiali awk kiali pod 內只有乙個容器,名稱為 kiali。該容器在啟動的過程中會執行容器內 ki...
istio kiali 親和性排程
在開始 kiali 親和性排程之前,先演示乙個簡單的例子介紹 pod 選擇排程到指定 node 使用命令檢視當前所有 k8s 節點 root k8s master kubectl get nodes name status roles age version k8s master ready mas...
內部類的介紹 匿名內部類
顧名思義 沒有名字的內部類,其實就是沒有類名的區域性內部類 一切特徵都與區域性內部類相同 這句話請記住 必須繼承乙個父類或者實現乙個介面 心得 為什麼介面不能直接new,直接例項化 其實我覺得是可以的,但是不建議樣做,為什麼呢,我們平常都是new介面的實現類,或者叫做子類把,因為介面的方法,在子類中...