美文网首页
497.【kubernetes】使用 buildkit 构建镜像

497.【kubernetes】使用 buildkit 构建镜像

作者: 七镜 | 来源:发表于2022-11-23 04:35 被阅读0次

    一、安装 buildkit 客户端

    buildkit 可执行文件: 下载地址
    解压:
    tar -zxvf buildkit-v0.10.6.linux-amd64.tar.gz
    复制到 /usr/bin

    cp build/buildctl /usr/bin/
    

    二、验证安装

    buildkit -version
    
    • 可以看到已经安装成功了

    三、安装buildkitd 服务

    1. 复制buildkitd/usr/bin
    cp build/builkitd /usr/bin/
    
    1. 配置 systemd 服务
      创建 /usr/lib/systemd/system/buildkitd.service 文件:
    cat > /usr/lib/systemd/system/buildkitd.service <<EOF
    [Unit]
    Description=/usr/bin/buildkitd
    ConditionPathExists=/usr/bin/buildkitd
    After=containerd.service
    
    [Service]
    Type=simple
    ExecStart=/usr/bin/buildkitd
    User=root
    Restart=on-failure
    RestartSec=1500ms
    
    [Install]
    WantedBy=multi-user.target
    EOF
    
    1. 开机自启动
    systemctl daemon-reload && systemctl restart buildkitd && systemctl enable buildkitd
    

    验证运行状态

    systemctl status buildkitd
    

    四、构建镜像

    未运行 buildkitd 之前:会报下面的错误:

    [root@k8s0 cbbpa-server-utils]# nerdctl build -t test/testimage:0.0.1 .
    ERRO[0000] `buildctl` needs to be installed and `buildkitd` needs to be running, see https://github.com/moby/buildkit  error="2 errors occurred:\n\t* failed to ping to host unix:///run/buildkit-default/buildkitd.sock: exit status 1\n\t* failed to ping to host unix:///run/buildkit/buildkitd.sock: exit status 1\n\n"
    FATA[0000] no buildkit host is available, tried 2 candidates: 2 errors occurred:
            * failed to ping to host unix:///run/buildkit-default/buildkitd.sock: exit status 1
            * failed to ping to host unix:///run/buildkit/buildkitd.sock: exit status 1
    

    运行 buildkitd 执行:就跑通了:

    [root@k8s0 cbbpa-server-utils]# systemctl start buildkitd
    [root@k8s0 cbbpa-server-utils]# nerdctl build -t test/testimage:0.0.1 .
    [+] Building 3.6s (9/9) FINISHED                                                                                                                                 
     => [internal] load .dockerignore                                                                                                                           0.0s
     => => transferring context: 2B                                                                                                                             0.0s
     => [internal] load build definition from Dockerfile                                                                                                        0.0s
     => => transferring dockerfile: 256B                                                                                                                        0.0s
     => [internal] load metadata for docker.io/library/busybox:latest                                                                                           3.0s
     => [1/4] FROM docker.io/library/busybox@sha256:fcd85228d7a25feb59f101ac3a955d27c80df4ad824d65f5757a954831450185                                            0.0s
     => => resolve docker.io/library/busybox@sha256:fcd85228d7a25feb59f101ac3a955d27c80df4ad824d65f5757a954831450185                                            0.0s
     => [internal] load build context                                                                                                                           0.0s
     => => transferring context: 106B                                                                                                                           0.0s
     => CACHED [2/4] WORKDIR /root                                                                                                                              0.0s
     => CACHED [3/4] ADD cbbpa_server_utils.bin /root                                                                                                           0.0s
     => CACHED [4/4] RUN chmod -R 777 .                                                                                                                         0.0s
     => exporting to oci image format                                                                                                                           0.5s
     => => exporting layers                                                                                                                                     0.0s
     => => exporting manifest sha256:e2cc5478d2911b1ac660886ee53950997f89d05b3c5ffc6ca63653e0b64e0a58                                                           0.0s
     => => exporting config sha256:3585a98666945a396c21d259885b61a922ff46d8db5b33dc111b7a0701d26744                                                             0.0s
     => => sending tarball                                                                                                                                      0.4s
    unpacking docker.io/test/testimage:0.0.1 (sha256:e2cc5478d2911b1ac660886ee53950997f89d05b3c5ffc6ca63653e0b64e0a58)...
    Loaded image: docker.io/test/testimage:0.0.1[root@k8s0 cbbpa-server-utils]# date
    Mon Nov 21 10:26:59 CST 2022
    
    镜像构建成功

    相关文章

      网友评论

          本文标题:497.【kubernetes】使用 buildkit 构建镜像

          本文链接:https://www.haomeiwen.com/subject/azpixdtx.html