minikube国内安装之曲线救国

本文档介绍如何在面临Minikube无法从阿里云镜像仓库拉取Kubernetes镜像的问题时,通过编写并执行shell脚本`pull_k8s.sh`进行手动拉取和重命名,从而规避问题。脚本涉及k8s核心组件及存储-provisioner镜像的版本替换。尽管这不是GCD开发者所推荐的方式,但在特定环境下能有效解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从网上找的方法,基本无效

1.minikube  start --image-repository=registry.aliyuncs.com/google_containers (无效)

2.指定minikube  start --registry-mirror=XXX也不行,从.minikube  start --help就知道不认它

3.修改deamon.json,增加registry-mirror,这仅对docker内部有效,不对minikube拉它自身image有用!!

好在有人做了一个替代法,不过比较死板,今做优化:

pull_k8s.sh:

set -o errexit
set -o nounset
set -o pipefail

function pull(){
  sources=$1
  targets=$2
 
  for (( i=0;i<${#sources[@]};i++)) do
    docker pull ${sources[i]}
    docker tag ${sources[i]} ${targets[i]}
    docker rmi ${sources[i]}
  done  
}
 
##这里定义版本,按照上面得到的列表自己改一下版本号
KUBE_VERSION=v1.21.2
KUBE_PAUSE_VERSION=3.4.1
ETCD_VERSION=3.4.13-0

sources=(
  k8smx/kube-proxy:${KUBE_VERSION}
  k8smx/kube-scheduler:${KUBE_VERSION}
  k8smx/kube-controller-manager:${KUBE_VERSION}
  k8smx/kube-apiserver:${KUBE_VERSION}
  k8smx/pause:${KUBE_PAUSE_VERSION}
  k8smx/etcd:${ETCD_VERSION}
  coredns/coredns:1.8.0
  yuntianfeijing/storage-provisioner:v5
)

targets=(
  k8s.gcr.io/kube-proxy:${KUBE_VERSION}
  k8s.gcr.io/kube-scheduler:${KUBE_VERSION}
  k8s.gcr.io/kube-controller-manager:${KUBE_VERSION}
  k8s.gcr.io/kube-apiserver:${KUBE_VERSION}
  k8s.gcr.io/pause:${KUBE_PAUSE_VERSION}
  k8s.gcr.io/etcd:${ETCD_VERSION}
  k8s.gcr.io/coredns/coredns:v1.8.0
  gcr.io/k8s-minikube/storage-provisioner:v5
)

pull "${sources[*]}" "${targets[*]}"

然后

chmod +x ./pull_k8s.sh
./push_k8s.sh
minikube start --vm-driver=docker --base-image="kicbase/stable:v0.0.25" 就好了

问GCD开发者为何为难开发者呢???

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值