Dckr
<谨供参考>
最近发现个好东西-Dckr : 一款基于Docker的容器配置及编排的向导式构建工具(支持Docker、Compose、Kubernets、Rancher的资源文件向导式构建)
引自官方:
1 2 3 4 5 6 7 8 9 10 11 12 13
| 通过它,你可以轻松完成以下操作:
借助语义化UI向导式构建Dockerfile、docker-compose.yaml、Kubernetes资源文件、Rancher Chart。 支持docker-compose.yaml向Kubernetes资源文件的转换。 支持docker-compose.yaml或Kubernetest(Helm Chart)向Rancher Chart的转换。
它的存在意义:
通过语义化UI向导式的指引你去构建相关容器配置、编排文件,降低了你的学习成本。 通过转换功能,能轻松地将不同容器产品的配置文件进行相互转换,极大地提高了你的工作效率。 通过它进行构建的YAML文件是符合规范的,让你摆脱编写YAML文件因缩进等格式问题带来的痛苦。 通过它你可以轻松对相关配置项进行更改,然后点击构建按钮,编辑器内容也会相应变化;可用于辅助容器相关教学。 它的实现方案,能为诸如:"通过语义化UI实现配置文件的生成"等各种需求,提供一定的思路甚至是一种解决方案。
|
下面演示下k8s部署mysql是如何使用dckr进行向导式构建的
- 首先添加配置文件mysql-deployment.yaml用于创建Deployment


- 将存储卷挂载到容器内部路径,设置环境变量,指定开放的端口,指定容器镜像


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| apiVersion: apps/v1 kind: Deployment metadata: namespace: default labels: app: mysql name: mysql-deployment spec: replicas: 1 selector: matchLabels: app: mysql strategy: type: RollingUpdate rollingUpdate: maxSurge: 25% maxUnavailable: 25% template: metadata: labels: app: mysql spec: containers: - name: mysql image: mysql:5.7 imagePullPolicy: IfNotPresent volumeMounts: - name: log-volume mountPath: /var/log/mysql - name: data-volume mountPath: /var/lib/mysql - name: conf-volume mountPath: /etc/mysql ports: - containerPort: 3306 hostPort: 3306 env: - name: MYSQL_ROOT_PASSWORD value: root volumes: - name: conf-volume hostPath: path: /home/docker/mydata/mysql/conf - name: conf-volume hostPath: path: /home/docker/mydata/mysql/conf - name: conf-volume hostPath: path: /home/docker/mydata/mysql/conf
|
ps: 截至2021/05/05,它这里有个bug,就是填写pod数据券配置(hostPath类型)信息有问题,似乎所有类型的数据券输入框绑定这里都有点小问题.
目前已修复
- 想要其他Pod可以通过服务名称访问MySQL,需要创建mysql-service

1 2
| kubectl apply -f mysql-deployment.yaml kubectl apply -f mysql-service.yaml
|
当然目前来看的话,还是有些小bug,但是总的来说,这是一个好玩并且好用的开源项目
**源码仓库地址: Dckr-基于Docker的容器配置及编排的向导式构建工具**