容器安全FAQ
本文介紹應(yīng)用容器安全的常見問題及解決方案。
為什么容器之間的網(wǎng)絡(luò)不通?
您可以參考以下步驟解決容器服務(wù)Kubernetes集群由于安全組導(dǎo)致網(wǎng)絡(luò)不通的問題。
入方向授權(quán)對象為Pod 網(wǎng)絡(luò)CIDR,且協(xié)議類型為全部的規(guī)則已被刪除。
登錄容器服務(wù)管理控制臺,在左側(cè)導(dǎo)航欄選擇集群。
在集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇集群信息。
在集群信息頁面,選擇基本信息頁簽,單擊控制面安全組右側(cè)的鏈接進(jìn)入ECS控制臺的安全組頁面。
在安全組頁面的入方向頁簽下,單擊手動添加。
填寫協(xié)議類型、端口范圍、授權(quán)對象,并單擊保存。
說明協(xié)議類型請選擇全部。
授權(quán)對象填寫為Pod的網(wǎng)段地址。
Pod的網(wǎng)段地址(Pod網(wǎng)絡(luò)CIDR)可在容器服務(wù)管理控制臺集群詳細(xì)信息頁面,集群信息區(qū)域查看。
授權(quán)對象的設(shè)置,可參見安全組應(yīng)用案例。
入方向授權(quán)對象為Pod網(wǎng)絡(luò)CIDR,且協(xié)議類型為全部的規(guī)則已添加。
新增ECS實例的安全組與集群所在的安全組不同。
登錄容器服務(wù)管理控制臺,在左側(cè)導(dǎo)航欄選擇集群。
在集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇集群信息。
在集群信息頁面,選擇基本信息頁簽,查看并記錄安全組右側(cè)的安全組ID。
將目標(biāo)ECS實例加入上一步查到的集群安全組中。將ECS實例加入指定安全組的相關(guān)操作,請參見將實例加入、移出或替換安全組。
如何給Kubernetes集群指定安全組?
當(dāng)前暫不支持給Kubernetes集群指定安全組。但是創(chuàng)建Kubernetes集群時,容器服務(wù)ACK會自動創(chuàng)建一個默認(rèn)安全組,您可以通過修改默認(rèn)安全組的規(guī)則,達(dá)到指定安全組的效果。
集群審計功能是否可以取消或者在創(chuàng)建集群后再部署?
可以。具體操作,請參見使用集群API Server審計功能。
Kubernetes專有版本集群如何更換證書有效期,以及如何更換各個組件的證書?
集群臨近過期前兩個月左右,您會收到站內(nèi)和短信通知,收到通知后,在控制臺集群列表頁面單擊證書更新按鈕即可。具體操作,請參見更新專有版集群即將過期的證書。
如果Kubernetes集群證書已過期,具體操作,請參見更新專有版集群已過期的證書。
Pod無法創(chuàng)建,報錯詳情:no providers available to validate pod request
如果您沒有自定義PSP,出現(xiàn)該報錯是因為您刪除了默認(rèn)的PSP,恢復(fù)使用默認(rèn)的PSP規(guī)則即可。具體操作,請參見【已棄用】使用Pod安全策略。
如果您需要自定義PSP,具體操作,請參見啟用安全策略管理。
Secret在新建的Namespace下面無法使用
Secret是命名空間級別的,您需要在新建的Namespace下新建Secret。
無法掛載default-token
無法掛載default-token,具體報錯信息如下:
Normal Scheduled 13m default-scheduler Successfully assigned dev/alibaba-demo-67fcdbfb8-zklnp to cn-hangzhou.10.7.3.16 Warning FailedMount 13m (x2 over 13m) kubelet, cn-hangzhou.10.7.3.16 MountVolume.SetUp failed for volume 'default-token-8twx9' : mount failed: exit status 1 Mounting command: systemd-run Mounting arguments: --description=Kubernetes transient mount for /var/lib/kubelet/pods/62d39b35-9a4d-11ea-9870-c24d56a0e904/volumes/kubernetes.io~secret/default-token-8twx9 --scope -- mount -t tmpfs tmpfs /var/lib/kubelet/pods/62d39b35-9a4d-11ea-9870-c24d56a0e904/volumes/kubernetes.io~secret/default-token-8twx9 Output: Failed to start transient scope unit: Argument list too long Warning FailedCreatePodContainer 3m40s (x49 over 13m) kubelet, cn-hangzhou.10.7.3.16 unable to ensure pod container exists: failed to create container for [kubepods burstable pod62d39b35-9a4d-11ea-9870-c24d56a0e904] : Argument list too long
Systemd版本太老舊。
審計日志查詢方法
RBAC相關(guān)變更操作的審計日志查詢方法
登錄容器服務(wù)管理控制臺,在左側(cè)導(dǎo)航欄選擇集群。
在集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇集群信息。
在集群信息頁面,選擇基本信息頁簽,單擊審計日志右側(cè)的鏈接。
在
audit-<cluster_id>
,單擊頁面右上角的查詢 / 分析。 頁面,選擇對應(yīng)的在頁面頂端的下拉列表中,選擇需要查詢的時間范圍,例如最近15分鐘。
說明時間段覆蓋的范圍是正常到出現(xiàn)問題時的這段時間,例如3天、7天或15天。
在查詢 / 分析文本框中,輸入以下SQL查詢命令,然后單擊頁面右上角的查詢 / 分析。
requestURI: "rbac.authorization.k8s.io" not (verb: get or verb: watch)
單擊圖標(biāo),選擇下載日志,在彈出的日志下載對話框,選中通過Cloud Shell下載,單擊確認(rèn)。
ConfigMap相關(guān)變更操作的審計日志查詢方法
在查詢 / 分析文本框中輸入以下SQL查詢命令,然后單擊查詢 / 分析。更多操作,請參見審計日志查詢方法。
requestURI: "configmaps" and <configmap_name> not (verb: get or verb: watch or verb: list)
上述查詢命令在查詢時,需要將<configmap_name>替換為實際的ConfigMap名稱。
Deployment的Pod擴(kuò)縮容相關(guān)操作的審計日志查詢方法
在查詢 / 分析文本框中輸入以下SQL查詢命令,然后單擊查詢 / 分析。更多操作,請參見審計日志查詢方法。
requestURI: deployments and (verb: update or verb: patch) and replicas and deployments and <deployment_name> not deployment-controller
上述查詢命令在查詢時,需要將<deployment_name>替換為實際的Deployment名稱。