首页 > 其他分享 >【Azure K8S | AKS】在中国区AKS上遇见ImagePullBackOff时的替代方案

【Azure K8S | AKS】在中国区AKS上遇见ImagePullBackOff时的替代方案

时间:2023-11-01 11:05:04浏览次数:41  
标签:k8s amd64 r2 AKS gcr Azure K8S calico autoscaler

Failed to pull image "k8s.gcr.io/cluster-proportional-autoscaler-amd64:1.1.2-r2": rpc error: code = Unknown desc = Error response from daemon: Get https://k8s.gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

问题描述

在AKS集群中部署calico时候,遇见 ImagePullBackOff 问题。 在创建POD calico-typha-horizontal-autoscale 时候遇见拉取镜像失败问题。错误消息为:

Failed to pull image "k8s.gcr.io/cluster-proportional-autoscaler-amd64:1.1.2-r2": rpc error: code = Unknown desc = Error response from daemon: Get https://k8s.gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

 

问题解答

这个问题的原因是从中国区访问全球的镜像库时,遇见了无法连接的问题。所以需要修改镜像的地址,在中国区有专门为一些基础镜像做的代理库。

比如:k8s.gcr.io  修改成中国区专用的 gcr.azk8s.cn/google_containers/

通常情况下,AKS组件的yaml文件存储在主节点中的 /etc/kubernetes/addons 目录中,以下示例时修改主节点中的 /etc/kubernetes/addons/calico-daemonset.yaml 文件。

修改前:

metadata:
  name: calico-typha-horizontal-autoscaler
  namespace: kube-system
  … …
      containers:
      - image: k8s.gcr.io/cluster-proportional-autoscaler-amd64:1.1.2-r2
        name: autoscaler

修改后:

metadata:
  name: calico-typha-horizontal-autoscaler
  namespace: kube-system
  … …
      containers:
      - image: gcr.azk8s.cn/google_containers/cluster-proportional-autoscaler-amd64:1.1.2-r2
        name: autoscaler

然后,用一下的命令apply这次的改动:

kubectl apply -f /etc/kubernetes/addons/calico-daemonset.yaml

这样,Kubernetes 旧可以拉取镜像并创建POD。

Events:
  Type    Reason     Age    From                                  Message
  ----    ------     ----   ----                                  -------
  Normal  Scheduled  3m11s  default-scheduler       Successfully assigned kube-system/calico-typha-horizontal-autoscaler-5b8f8b8479-rj6ff to k8s-xxx-111-0
  Normal  Pulling    3m8s   kubelet, k8s-xxx-111-0  pulling image "gcr.azk8s.cn/google_containers/cluster-proportional-autoscaler-amd64:1.1.2-r2"
  Normal  Pulled     3m4s   kubelet, k8s-xxx-111-0  Successfully pulled image "gcr.azk8s.cn/google_containers/cluster-proportional-autoscaler-amd64:1.1.2-r2"
  Normal  Created    3m4s   kubelet, k8s-xxx-111-0  Created container
  Normal  Started    3m2s   kubelet, k8s-xxx-111-0  Started container

 

参考资料

Container Registry Proxy : https://github.com/Azure/container-service-for-azure-china/blob/master/aks/README.md#22-container-registry-proxy

【Azure K8S | AKS】在中国区AKS上遇见ImagePullBackOff时的替代方案_ImagePullBackOff

 

 

[end]

 

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!



标签:k8s,amd64,r2,AKS,gcr,Azure,K8S,calico,autoscaler
From: https://blog.51cto.com/u_13773780/8119869

相关文章

  • 【Azure Service Fabric】关于Service Fabric的相关问题
    问题一:ServiceFabric是否支持PrivateLink?在AzurePrivateEndpoint文档中,罗列出了Azure上支持PrivateLink的服务。ServiceFabric不在其中。AzurePrivateLinkavailability:https://learn.microsoft.com/en-us/azure/private-link/availability 问题二:是否可以Disable......
  • 【Azure App Service】为部署在App Service上的PHP应用开启JIT编译器
    问题描述在AppServiceforlinux上创建一个PHP应用,通过phpinfo()查看PHP的扩展设置,发现JIT没有被开启, jit_buffer_size大小为0.那么,在AppService的环境中,如何开启JIT呢? 问题解答PHP8在PHP的内核中添加了JIT编译器,可以极大地提高性能。首先,仅在启用opcache的情况下,JIT才有效......
  • k8s-服务网格实战-入门Istio
    背景终于进入大家都比较感兴趣的服务网格系列了,在前面已经讲解了:如何部署应用到kubernetes服务之间如何调用如何通过域名访问我们的服务如何使用kubernetes自带的配置ConfigMap基本上已经够我们开发一般规模的web应用了;但在企业中往往有着复杂的应用调用关系,应用与......
  • k8s pvc详解
    一、概述PVC的全称是:PersistentVolumeClaim(持久化卷声明),PVC是用户存储的一种声明,PVC和Pod比较类似,Pod消耗的是节点,PVC消耗的是PV资源,Pod可以请求CPU和内存,而PVC可以请求特定的存储空间和访问模式。对于真正使用存储的用户不需要关心底层的存储实现细节,只需要直接使......
  • [Azure Developer]把Azure Function中ILogger对象静态化为静态方法提供日志记录
    问题描述在AzureFunction代码中,有默认的ILogger对象来记录函数的日志,如果函数引用了一些静态对象,是否有办法使用这个默认的ILogger对象来记录日志呢?usingSystem.Net;usingMicrosoft.Azure.Functions.Worker;usingMicrosoft.Azure.Functions.Worker.Http;usingMicrosoft.Ext......
  • [Azure Developer]把Azure Function中ILogger对象静态化为静态方法提供日志记录
    问题描述在AzureFunction代码中,有默认的ILogger对象来记录函数的日志,如果函数引用了一些静态对象,是否有办法使用这个默认的ILogger对象来记录日志呢?usingSystem.Net;usingMicrosoft.Azure.Functions.Worker;usingMicrosoft.Azure.Functions.Worker.Http;usingMicrosoft......
  • k8s1.18参数详解
    -v,--vint日志级别详细程度的数字。--logtostderr默认值:true在标准错误而不是文件中输出日志记录。--bind-addressstring默认值:"0.0.0.0"用来监听--secure-port端口的IP地址。集群的其余部分以及CLI/web客户端必须可以访问所关联的接口。如果为空白或未指定......
  • 快速运维 - K8s
    更新日志:-2023.10.311055初始化HELMHelm是一个用于k8s的包管理器,使用helm之后就不需要了解k8s的yaml语法并编写应用部署文件,可以通过helm下载并在k8s上安装需要的应用。Helm还提供了k8s的软件部署,删除,升级,回滚应用的强大功能。列表列举安装的应用helmlist卸载卸......
  • 【Azure Function App】如何修改Azure函数应用的默认页面呢?
    问题描述当在Azure中创建了一个函数应用(FunctionApp)后,访问默认URL会得到一个默认的页面。是否有办法修改这个默认页面呢?  问题解答在之前的博文中,介绍了修改AppService的默认页面。1:【Azure应用服务】AppService默认页面暴露Tomcat版本信息,存在安全风险 :https://www.cnbl......
  • DHorse改用fabric8的SDK与k8s集群交互
    现状在dhorse1.4.0版本之前,一直使用k8s官方提供的sdk与k8s集群交互,官方sdk的Maven坐标如下:<dependency> <groupId>io.kubernetes</groupId> <artifactId>client-java</artifactId> <version>18.0.0</version></dependency>但是自从1.4.0版本以后,dhor......