我们正在 Azure 中的 k8s 集群上实施安全性(托管 Kubernetes - AKS)。
通过 ARM 模板部署集群,配置如下:
1 个节点,可用性集,标准负载均衡器,基于 Nginx 的入口控制器,一组应用程序 ddeployed。
根据文档,我们更新了集群以保护 API 服务器免受整个互联网的影响:
az aks update --resource-group xxxxxxxx-xxx-xx-xx-xx-x -n xx-xx-xxx-aksCluster
--api-server-authorized-ip-ranges XX.XX.X.0/24,XX.XX.X.0/24,XX.XXX.XX.0/24,XX.XXX.XXX.XXX/32
--subscription xxxxx-xxx-xxx-xxx-xxxxxx
操作成功完成。
当尝试从 pod 中获取日志时,会发生以下错误:
kubectl get pods -n lims-dev
NAME READY STATUS RESTARTS AGE
XXXX-76df44bc6d-9wdxr 1/1 Running 0 14h
kubectl logs XXXXX-76df44bc6d-9wdxr -n lims-dev
Error from server: Get https://aks-agentpool-XXXXXX-1:10250/containerLogs/XXXX/XXXXX-
76df44bc6d-9wdxr/listener: dial tcp 10.22.0.35:10250: i/o timeout
尝试使用 Azure DevOps 进行部署时,会引发相同的错误:
2020-04-07T04:49:49.0409528Z ##[error]Error: error installing:
Post https://xxxxx-xxxx-xxxx-akscluster-dns-xxxxxxx.hcp.eastus2.azmk8s.io:443
/apis/extensions/v1beta1/namespaces/kube-system/deployments:
dial tcp XX.XX.XXX.142:443: i/o timeout
当然,我运行 kubectl 的子网会添加到授权范围。
我试图了解问题的根源。