本文介紹應用容器安全的常見問題及解決方案。
為什么容器之間的網絡不通?
您可以參考以下步驟解決容器服務Kubernetes集群由于安全組導致網絡不通的問題。
入方向授權對象為Pod 網絡CIDR,且協議類型為全部的規則已被刪除。
新增ECS實例的安全組與集群所在的安全組不同。
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇集群信息。
在集群信息頁面,選擇基本信息頁簽,查看并記錄安全組右側的安全組ID。
將目標ECS實例加入上一步查到的集群安全組中。將ECS實例加入指定安全組的相關操作,請參見將實例加入、移出或替換安全組。
如何給Kubernetes集群指定安全組?
當前暫不支持給Kubernetes集群指定安全組。但是創建Kubernetes集群時,容器服務ACK會自動創建一個默認安全組,您可以通過修改默認安全組的規則,達到指定安全組的效果。
集群審計功能是否可以取消或者在創建集群后再部署?
可以。具體操作,請參見使用集群API Server審計功能。
Kubernetes專有版本集群如何更換證書有效期,以及如何更換各個組件的證書?
集群臨近過期前兩個月左右,您會收到站內和短信通知,收到通知后,在控制臺集群列表頁面單擊證書更新按鈕即可。具體操作,請參見更新專有版集群即將過期的證書。
如果Kubernetes集群證書已過期,具體操作,請參見更新專有版集群已過期的證書。
Pod無法創建,報錯詳情:no providers available to validate pod request
如果您沒有自定義PSP,出現該報錯是因為您刪除了默認的PSP,恢復使用默認的PSP規則即可。具體操作,請參見【已棄用】使用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相關變更操作的審計日志查詢方法
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇集群信息。
在集群信息頁面,選擇基本信息頁簽,單擊審計日志右側的鏈接。
在
audit-<cluster_id>
,單擊頁面右上角的查詢 / 分析。 頁面,選擇對應的在頁面頂端的下拉列表中,選擇需要查詢的時間范圍,例如最近15分鐘。
說明時間段覆蓋的范圍是正常到出現問題時的這段時間,例如3天、7天或15天。
在查詢 / 分析文本框中,輸入以下SQL查詢命令,然后單擊頁面右上角的查詢 / 分析。
requestURI: "rbac.authorization.k8s.io" not (verb: get or verb: watch)
單擊圖標,選擇下載日志,在彈出的日志下載對話框,選中通過Cloud Shell下載,單擊確認。
ConfigMap相關變更操作的審計日志查詢方法
在查詢 / 分析文本框中輸入以下SQL查詢命令,然后單擊查詢 / 分析。更多操作,請參見審計日志查詢方法。
requestURI: "configmaps" and <configmap_name> not (verb: get or verb: watch or verb: list)
上述查詢命令在查詢時,需要將<configmap_name>替換為實際的ConfigMap名稱。
Deployment的Pod擴縮容相關操作的審計日志查詢方法
在查詢 / 分析文本框中輸入以下SQL查詢命令,然后單擊查詢 / 分析。更多操作,請參見審計日志查詢方法。
requestURI: deployments and (verb: update or verb: patch) and replicas and deployments and <deployment_name> not deployment-controller
上述查詢命令在查詢時,需要將<deployment_name>替換為實際的Deployment名稱。