kaniko试用

26 篇文章 1 订阅
23 篇文章 0 订阅

kaniko介绍

官网:https://github.com/GoogleContainerTools/kaniko
参考:http://dockone.io:82/article/4933
与Jenkins对比:https://yq.aliyun.com/ask/494251/?order=vote_num&p=1

在K8S中运行

apiVersion: v1
kind: Secret
metadata:
  name: kaniko-secret
type: kubernetes.io/basic-auth
stringData:
  username: [destination对应镜像仓库账号]
  password: [destination对应镜像仓库密码]


---
apiVersion: v1
kind: Pod
metadata:
  name: kaniko
spec:
  nodeSelector:
    kubernetes.io/hostname: prod-l27-4-23
  containers:
  - name: kaniko
    image: registry.cn-hangzhou.aliyuncs.com/shenshouer/tektoncd-executor:latest
    args:
    - --dockerfile=/root/kaniko-test/context/Dockerfile
    - --context=/root/kaniko-test/context
    - --tarPath=/root/kaniko-test/context/context.tar
    - --destination=registry.cn-hangzhou.aliyuncs.com/shenshouer/ayena:test
    volumeMounts:
      - name: kaniko-secret
        mountPath: /secret
      - name: context-data
        mountPath: /root/kaniko-test/context
    env:
      - name: GOOGLE_APPLICATION_CREDENTIALS
        value: /secret/kaniko-secret.json
  restartPolicy: Never
  volumes:
    - name: context-data
      hostPath:
        path: /root/kaniko-test/context
        type: Directory
    - name: kaniko-secret
      secret:
        secretName: kaniko-secret

在Docker中运行

docker rm -f kaniko
docker run --name kaniko \
    -v $HOME/.docker/:/kaniko/.docker \
    -v `pwd`:/workspace \
    registry.cn-hangzhou.aliyuncs.com/shenshouer/tektoncd-executor:latest \
    --dockerfile /workspace/Dockerfile \
    --destination registry.cn-hangzhou.aliyuncs.com/shenshouer/ayena:test \
    --context dir:///workspace/

注意:认证信息需要挂载-v $HOME/.docker/:/kaniko/.docker

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jenkins Kaniko是一种常用的构建工具,主要用于容器化应用的构建和部署。Jenkins是一种开源的持续集成和持续交付工具,而Kaniko是由Google开发的一个用于构建Docker镜像的工具。 当使用Jenkins进行容器化应用构建时,传统的方式是在Jenkins服务器上安装Docker,并在构建过程中通过Docker命令来构建镜像。然而,这种方式存在一些问题,比如构建过程中可能会涉及到敏感信息的安全性问题,以及Docker容器环境的依赖性等。为了解决这些问题,Kaniko应运而生。 Jenkins Kaniko通过在Jenkins服务器上直接执行构建步骤,而不需要依赖Docker守护进程,从而提供了更好的隔离性和安全性。它使用了容器内的用户权限,并利用了Linux的命名空间和cgroups等技术,可在无需特权的情况下进行镜像构建。这样一来,在构建过程中不会涉及到敏感信息的暴露,并且能够避免Docker环境的依赖性问题。 使用Jenkins Kaniko,我们可以方便地在Jenkins中配置构建任务,并将构建结果生成的镜像推送到私有或公共的镜像仓库,以便后续的部署和使用。同时,Kaniko还支持使用Dockerfile来定义构建过程,可以像传统的Docker构建一样,进行多阶段构建和参数化等操作。 总而言之,Jenkins Kaniko是一种高效且安全的容器化应用构建工具,可以帮助我们更好地利用Jenkins进行持续集成和持续交付。它通过避免依赖Docker守护进程,提供了更好的隔离性和安全性,同时也支持使用Dockerfile进行构建,使构建过程更加灵活和可控。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值