Kompose使用

参考网址:https://kubernetes.io/docs/tools/kompose/user-guide/
Kompose是一个转换工具,可以将docker-compose编排docker-compose.yaml文件转换为kubernetes或者OpenShift编排文件。

Kompose安装

直接下载二进制文件安装

# Linux
curl -L https://github.com/kubernetes/kompose/releases/download/v1.1.0/kompose-linux-amd64 -o kompose

# macOS
curl -L https://github.com/kubernetes/kompose/releases/download/v1.1.0/kompose-darwin-amd64 -o kompose

# Windows
curl -L https://github.com/kubernetes/kompose/releases/download/v1.1.0/kompose-windows-amd64.exe -o kompose.exe

chmod +x kompose
sudo mv ./kompose /usr/local/bin/kompose

Kompose使用

转换Docker-compose文件到kubernetes

docker-compose.yml和docker-guestbook.yml都是docker-compose的编排文件。

kompose -f docker-compose.yml -f docker-guestbook.yml convert
转换Docker-compose文件到openshift
kompose --provider openshift --file buildconfig/docker-compose.yml convert
转换Docker-compose文件后并且直接运行yml文件
kompose --file ./examples/docker-guestbook.yml up

转换为OpenShift

kompose --file ./examples/docker-guestbook.yml --provider openshift up

可以使用命令Kompose down删除运行的k8s服务

kompose --file docker-guestbook.yml down
build和push docker镜像

当docker-compose文件包含build关键字,kompose会构建镜像并且推送镜像

version: "2"

services:
    foo:
        build: "./build"
        image: docker.io/foo/bar
$ kompose up
# Disable building/pushing Docker images
$ kompose up --build none

# Generate Build Config artifacts for OpenShift
$ kompose up --provider openshift --build build-config

转换支持

转换成json格式文件

kompose convert -j

-deployment.yaml生成为-replicationcontroller.yaml

$ kompose convert --replication-controller
$ kompose convert --replication-controller --replicas 3

-deployment.yaml生成为-daemonset.yaml

$ kompose convert --daemon-set

转换后生成Chart(Helm使用)

$ kompose convert -c
$ tree docker-compose/
docker-compose
├── Chart.yaml
├── README.md
└── templates
    ├── redis-deployment.yaml
    ├── redis-svc.yaml
    ├── web-deployment.yaml
    └── web-svc.yaml

Kompose支持在docker-compose.yml增加label支持自定义的配置
kompose可以配置转换后的service的type为NodePort

version: "2"
services:
  nginx:
    image: nginx
    dockerfile: foobar
    build: ./foobar
    cap_add:
      - ALL
    container_name: foobar
    labels:
      kompose.service.type: nodeport

kompose可以配置暴露给Ingress Controller的hostname。
kompose-expose
kompose可以镜像的restart取值决定是否是pod.yml。
kompose-restart

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值