配置阿里私有镜像中心

[!Tip]
使用阿里私有镜像仓库
关联GitHub构建海外私有镜像
并且设置固有密码进行部署服务


使用阿里私有镜像仓库

[!NOTE]
阿里开通镜像仓库并且关联GitHub这里不做介绍,操作很简单
这边使用构建查看k8s节点使用资源情况的插件:metrics-server为例

1.在GitHub建立Dockerfile

在阿里镜像仓库关联了GitHub仓库后,在GitHub上面填写自己需要构建的镜像
本次记录的是metrics-server镜像

Dockerfile添加以下构建代码


From k8s.gcr.io/metrics-server/metrics-server:v0.6.1

截图如下

2.阿里镜像仓库添加构建规则

截图如下

[!NOTE]
类型 | Branch/Tag | 构建上下文目录Dockerfile路径 这几个都按照GitHub上面的路径来写,阿里会自动去查找对应的构建文件
如果查找不到会构建失败

点击立即构建等待显示构建成功,如果构建失败,则点击日志查看。截图如下

3.配置 k8s 使用阿里私有镜像

[!NOTE]
在配置之前需要注意的是:
阿里提供了公网/私网以及经典网络。需要哪种自己按需设置

3.1 kubectl生成密钥文件

kubectl --namespace kube-system create secret docker-registry aliimagesecret --docker-server=registry.cn-shenzhen.aliyuncs.com --docker-username=yjy86868@163.com --docker-password=${PASSWORD} --docker-email=yjy86868@163.com

[!NOTE]
生成密钥的时候需要指定命名空间,如果没设置命名空间,则生成的密钥默认放在default命名空间下
这里metrics-server需要放在kube-system下,所以指定--namespace kube-system
--docker-server参数值为阿里上提供的,自己查找然后复制过来
--docker-username参数值为阿里云的账号
--docker-password参数值为设置的固定密码。具体查看阿里文档
--docker-email参数可选

执行后显示

secret/aliimagesecret created

3.2 在yaml文件添加密钥

[!NOTE]
添加位置在containers同一层

添加配置参数如下

imagePullSecrets:
  - name: aliimagesecret

位置示例:

spec:
  selector:
    matchLabels:
      k8s-app: metrics-server
  strategy:
    rollingUpdate:
      maxUnavailable: 0
  template:
    metadata:
      labels:
        k8s-app: metrics-server
    spec:
      # 位置在这边
      imagePullSecrets:
        - name: aliimagesecret
      containers:
      - args:
        - --cert-dir=/tmp
        - --kubelet-insecure-tls
        - --secure-port=4443
        - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
        - --kubelet-use-node-status-port
        - --metric-resolution=15s
        image: registry.cn-shenzhen.aliyuncs.com/yjy_k8s/kubernetes-sigs_metrics-server:v0.6.1
        imagePullPolicy: IfNotPresent

3.3 增加校验证书的参数

[!NOTE]
由于我安装的是查看节点资源使用情况的查看,会调用kube-apiserver,调用的时候需要证书认证,没有配置该参数会被拒绝请求
添加的位置为containers下面的args参数列表。具体查看上面的示例代码

要添加的参数如下

- --kubelet-insecure-tls
- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname

3.4 执行安装

kubectl apply -f ${PATH}/metric-server-v0.6.1.yaml

3.5 查看服务部署情况

get pod -n kube-system | grep metrics

显示

metrics-server-ddfcb5bff-mrtjn             1/1     Running   0                49m

至此。配置并使用阿里镜像仓库中心成功