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

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

时间:2023-08-15 21:03:31浏览次数:45  
标签:k8s Normal AKS xxx gcr 111 Azure K8S calico

问题描述

在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 文件。

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

然后,用一下的命令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时的替代方案_github_02

 

 

[end]

 


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

标签:k8s,Normal,AKS,xxx,gcr,111,Azure,K8S,calico
From: https://blog.51cto.com/u_13773780/7093044

相关文章

  • 【Azure K8S | AKS】在中国区AKS上遇见ImagePullBackOff时的替代方案
    问题描述在AKS集群中部署calico时候,遇见ImagePullBackOff问题。在创建POD calico-typha-horizontal-autoscale时候遇见拉取镜像失败问题。错误消息为:Failedtopullimage"k8s.gcr.io/cluster-proportional-autoscaler-amd64:1.1.2-r2":rpcerror:code=Unknowndesc......
  • K8S故障注入混沌工程开源平台ChaosMesh
    ChaosMesh是针对K8S的云原生混沌工程开源平台。可以用它方便地模拟开发、测试、生产环境中可能出现的各种异常情况,发现系统中潜在的问题。创建者研发支持混合事务与分析处理的开源数据库TiDB的PingCap公司一句话介绍ChaosMesh是针对K8S的云原生开源混沌工程平台。关键特性......
  • k8s dashboard token过期时间太短的解决方案
    在下载的dashboardyaml文件中args这里增加一行-'--token-ttl=43200' spec:securityContext:seccompProfile:type:RuntimeDefaultcontainers:-name:kubernetes-dashboardimage:kubernetesui/dashbo......
  • 利用K8S CronJob来实现etcd集群的自动备份
    前言:利用k8sCronJob来实现etcd集群的自动备份,并通过sftp传输到本k8s集群外的服务器上,进行存储。实验步骤:基本环境情况:服务器角色IP系统ETCD版本K8S集群操作服务器192.168.1.136Centos7.93.4.9存储服务器192.168.1.105Centos7.9-创建Dockerfile镜像:[root@k8s-master1~]#mkdir/s......
  • 记录一次调查OpenEuler上部署K8s,CoreDNS组件一直 CrashLoopBackOff ,describe 时 Back
    详细过程不赘述了。百度了很多办法都不可用,然后尝试重装k8s好多次也不管用。 最后解决。kubectleditdeploymentcoredns-nkube-systemapiVersion:apps/v1kind:Deploymentmetadata:annotations:deployment.kubernetes.io/revision:"2"creationTimestamp......
  • gitlab-runner配合k8s完成代码自动打包部署上线
    前期搭建了云服务器私有的gitlab和k8s环境,但是都是独立运行的,每次代码更新需要手动去打包好镜像,推送到镜像仓库,然后在deployment里面更新image,这样平时不太有问题,但是会给运维我这边产生很多琐事(反正就是想偷懒,能自动化的为什么要手动,懒惰才是提高生产力的动力!)。在这种情况下我就考......
  • k8s笔记10
    摘要:组播;;1、docker加入组播(docker加入组播(docker组播))(docker与组播(docker组播)),Docker容器默认不支持UDP/组播流量,在使用容器进行网络应用的开发过程中,需要使用第三方软件支持组播。下面介绍使用Docker加入组播的方法。#创建一个新的网络dockernetworkcreate--driver=......
  • Jenkinsfile使用k8s agent构建失败:Container jnlp was terminated (Exit Code: 1, Rea
    问题描述Jenkinsfile使用k8sagent构建失败jenkins报错截图:查看pod app-system-23-wmx8b-5lnl2-lxvlr的jnlp容器日志:分析处理一般构建失败大都是jnlp容器问题。经以下日志分析发现jenkins主节点和slave节点的jdk版本不一致导致该提示JavaJDK版本不对:hudson/slaves/SlaveComputer......
  • k8s etcd operator
    在k8s生态中,Operator是灵活管理有状态应用的解决方案。operator通过crd来描述部署的有状态应用和自定义控制器来完成部署和运维工作。EtcdOperator部署Etcd集群,采用的是静态集群的方式。好处是不必依赖一个额外的服务发现机制来组建集群,适合本地容器化部署。难点在于部署时规划好......
  • k8s finalizers和owner references
    finalizers终结器,存放键的列表,列表内的键为空时资源才可被删除。删除指定了Finalizer的对象时,填充.metadata.deletionTimestamp来标记要删除的对象,返回已接受202状态码使其进入只读状态。#创建包含finalizers的configmapcat<<EOF|kubectlcreate-f-apiVersion:v1kind:......