我将 AWS EKS 与 Auto Scaler 用于工作节点。我有私人 Artifactory docker 注册表。
现在,为了从私有注册表下载 docker 映像,我阅读了许多文档,包括 kubernetes 文档 - 如何从私有 docker 注册表中提取 docker 映像。
解决方法分三步:
kubectl secret包含 docker 注册表凭据的内容"insecure-registries":["privateRegistryAddress:port"]/etc/docker/daemon.json我已手动通过 SSH 连接到工作节点并运行第二步和第三步,该步骤暂时有效,但 EKS Auto Scaler 会发现该工作节点是否未在使用中,然后将其终止并根据需要创建新节点,在这个新工作节点中,"insecure-registries":["privateRegistryAddress:port"]其中/etc/docker/daemon.json是未添加,因此 pod 调度失败。
我在这里能想到两种解决方案 -
"insecure-registries":["privateRegistryAddress:port"]配置默认包含的 AWS EC2 AMI/etc/docker/daemon.json并在自动缩放器配置中使用该映像请指教。谢谢。
我的组织中有 AWS EKS 集群用于内部实践目的。
该集群上当前安装的应用程序有 - Jenkins、Nexus、Spinnaker、Grafana、Prometheus
现在,为了节省成本和最佳使用,我每天早上都会扩展至 8 个节点,每天晚上会扩展至 0 个节点。
我观察到,有时当我想查看kubectl logs或运行kubectl exec命令时,我会遇到此错误
Error from server: no preferred addresses found; known addresses: []
为了快速解决这个问题,我删除了pod并让它再次自动创建,然后这个错误就消失了。
然而,今天我正在运行 jenkins 构建,其中 Jenkins master 动态启动 jenkins-slave pod 来运行构建过程,每次我在 jenkins 日志中再次遇到相同的错误
java.net.ProtocolException: Expected HTTP 101 response but was '500 Internal Server Error'
hudson.remoting.ProxyException: io.fabric8.kubernetes.client.KubernetesClientException: no preferred addresses found; known addresses: []
Run Code Online (Sandbox Code Playgroud)
请告知如何解决这个问题,因为现在这个问题变得越来越频繁。
我还发现,在工作节点中,未分配内部 IP,可能是由于此原因,发生了此问题。
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Ready <none> 3h7m v1.12.10-eks-aae39f <none> …Run Code Online (Sandbox Code Playgroud) 我想使用命令行选项列出所有可用的插件名称及其短名称,以便我可以通过 jenkins 命令行自动安装所需的插件。
好心提醒。谢谢