在过去的几个月里,我们一直遇到一个让我们痛苦的问题。
问题似乎是,有时当我们通过 Kubernetes 执行器请求 pod 时,它无法创建。
例如,spark pod 可能会失败并出现以下错误:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedCreatePodSandBox 20m (x3 over 32m) kubelet, k8s-agentpool1-123456789-vmss00000q (combined from similar events): Failed create pod sandbox: rpc error: code = Unknown desc = failed to create a sandbox for pod "spark-worker-cc1d28bf3de8428a826c04471e58487c-8577d5d654-2jg89": operation timeout: context deadline exceeded
Normal SandboxChanged 16m (x150 over 159m) kubelet, k8s-agentpool1-123456789-vmss00000q Pod sandbox changed, it will be killed and re-created.
Warning FailedCreatePodSandBox 5m7s (x14 over 161m) kubelet, …Run Code Online (Sandbox Code Playgroud) 我注意到 AKS 服务之一处于失败状态。当我去诊断时,我发现不再支持当前版本。所以我尝试按照此处说明的说明进行操作:https : //docs.microsoft.com/en-us/azure/aks/upgrade-cluster
我首先运行命令:
az aks get-upgrades --resource-group myResourceGroup --name myAKSCluster --output table
Run Code Online (Sandbox Code Playgroud)
进而:
az aks upgrade --resource-group myResourceGroup --name myAKSCluster --kubernetes-version new_version
Run Code Online (Sandbox Code Playgroud)
这会产生一个错误:
操作失败,状态为:“冲突”。详细信息:当集群处于失败状态时不允许升级。有关解决步骤,请访问https://aka.ms/aks-cluster-failed以解决集群状态可能失败的原因以及修复集群状态的步骤。
因此,状态因旧版本而失败,由于状态失败而无法更新版本......我检查了这个/sf/ask/3824191661/失败状态,但这不是我们的问题,我们有足够的资源来处理(我们检查过az aks show --resource-group myResourceGroup --name myAKSCluster --query agentPoolProfiles)
删除和重新创建 AKS 不是一种选择。
在我们的 AKS 中,在 Azure 安全中心发现了与此相关的高严重性警报。
CAPSYSADMIN 的用途是什么?默认情况下 Pod 是否启用此属性?因为我们没有在 AKS 中专门启用它?那么这个警报的原因是什么?我们如何修复此警报?