侧边栏壁纸
  • 累计撰写 23 篇文章
  • 累计创建 7 个标签
  • 累计收到 0 条评论
标签搜索

目 录CONTENT

文章目录

k8s运维(六)安装kubu镜像

爱喝酸梅汤的小猫咪
2023-05-30 / 0 评论 / 0 点赞 / 421 阅读 / 862 字

k8s运维(六)安装kubu镜像

由于镜像都是在k8s.gcr.io,外网,需要使用国内镜像下载
1.低版本,可拉去dockerhub的镜像
2.新版本,可同步阿里云镜像

一、低版本安装

  • 安装kubelet kubeadm kubectl
$ yum install -y kubelet-1.16.15 kubeadm-1.16.15 kubectl-1.16.15
  • 查看镜像版本
$ kubeadm config images list

out:
k8s.gcr.io/kube-apiserver:v1.16.15
k8s.gcr.io/kube-controller-manager:v1.16.15
k8s.gcr.io/kube-scheduler:v1.16.15
k8s.gcr.io/kube-proxy:v1.16.15
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.3.15-0
k8s.gcr.io/coredns:1.6.2
  • 下载镜像
    前往dockerhub查找对应版本镜像,我使用的是kubeimage

对应的image

$ docker pull kubeimage/kube-apiserver-amd64:v1.16.15
$ docker pull kubeimage/kube-controller-manager-amd64:v1.16.15
$ docker pull kubeimage/kube-scheduler-amd64:v1.16.15
$ docker pull kubeimage/kube-proxy-amd64:v1.16.15
$ docker pull kubeimage/pause-amd64:3.1
$ docker pull kubeimage/etcd-amd64:3.3.15-0
$ docker pull coredns/coredns:1.6.2

16709108639605

  • 修改tag
    因为要改成以上kubeadm 要求的镜像,所以需要打个tag
$ docker tag kubeimage/kube-apiserver-amd64:v1.16.15 k8s.gcr.io/kube-apiserver:v1.16.15

再删除之前
$ docker rmi kubeimage/kube-apiserver-amd64:v1.16.15

16709111807558
是这个结果,并将其他的image依次这么操作

二、最新版安装

最新版安装,是使用本机登录阿里云docker,再创建阿里云镜像,拉去下来

1.创建阿里云镜像项目

  • 安装
$ yum install -y kubelet-1.21.14 kubeadm-1.21.14 kubectl-1.21.14
  • 查看镜像
$ kubeadm config images list
k8s.gcr.io/kube-apiserver:v1.21.14
k8s.gcr.io/kube-controller-manager:v1.21.14
k8s.gcr.io/kube-scheduler:v1.21.14
k8s.gcr.io/kube-proxy:v1.21.14
k8s.gcr.io/pause:3.4.1
k8s.gcr.io/etcd:3.4.13-0
k8s.gcr.io/coredns/coredns:v1.8.0

创建个人实例
16709324611541

创建仓库
16709347678856
16709881587381
16709421545639

  • 添加构建规则
    1.填写目录
    2.填写镜像版本
    16710671505470

3.立即构建
16709883224635

4.构建成功

16710673115386

5.最后结果
16709888746636

2.拉去镜像

2.1 添加加速

选择自己的加速地址,添加
16709859262084

2.2 登录阿里云

16709866806456

$ docker login --username=xxx registry.cn-qingdao.aliyuncs.com
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
2.3 拉取,打tag

写个脚本,进行执行

$ vim pull_k8s_images.sh

写入:

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

##这里定义版本,按照上面得到的列表自己改一下版本号

KUBE_VERSION=v1.21.14
KUBE_PAUSE_VERSION=3.4.1
ETCD_VERSION=3.4.13-0
DNS_VERSION=v1.8.0 # coredns需要特殊处理

##这是原始仓库名,最后需要改名成这个
GCR_URL=k8s.gcr.io

##这里就是写你要使用的仓库
DOCKERHUB_URL=registry.cn-qingdao.aliyuncs.com/jameswu-kube

##这里是镜像列表,新版本要把coredns需要特殊处理
images=(
kube-proxy:${KUBE_VERSION}
kube-scheduler:${KUBE_VERSION}
kube-controller-manager:${KUBE_VERSION}
kube-apiserver:${KUBE_VERSION}
pause:${KUBE_PAUSE_VERSION}
etcd:${ETCD_VERSION}
#coredns:${DNS_VERSION} # coredns需要特殊处理
)

##这里是拉取和改名的循环语句
for imageName in ${images[@]} ; do
  docker pull $DOCKERHUB_URL/$imageName
  docker tag $DOCKERHUB_URL/$imageName $GCR_URL/$imageName
  docker rmi $DOCKERHUB_URL/$imageName
done
# 处理coredns
coreName=coredns:${DNS_VERSION}
docker pull $DOCKERHUB_URL/$coreName
docker tag $DOCKERHUB_URL/$coreName $GCR_URL/coredns/$coreName
docker rmi $DOCKERHUB_URL/$coreName

授权:

$ chmod +x pull_k8s_images.sh

执行

$ sh pull_k8s_images2.sh

最终我们想要的结果
16710669137287

0
  • 0

评论区