chouseknecht.minishift
minishift-up-role
安装最新的 minishift 二进制文件,并创建一个 minishift 实例。
执行以下任务:
- 下载并安装最新的 minishift 二进制文件
- 从 ~/.minishift/cache/oc 复制最新的 oc 二进制文件到你的 PATH 目录
- 安装 Docker Machine 驱动
- 创建一个 minishift 实例
- 授予 developer 账户集群管理员权限
- 创建一个通往内部注册表的路由
- 为访问内部注册表在 /etc/hosts 中添加一个主机名
访问注册表
在角色执行完毕并且 minishift 正在运行后,你将能够使用 openshift_hostname
值访问内部注册表。默认值为 local.openshift
。例如,通过运行以下命令登录:
$ docker login -u developer -p $(oc whoami -t) https://local.openshift
支持的平台:
- Debian
- Red Hat
- OSX
先决条件
- Ansible 2.4+
- 在运行该角色之前,清除终端会话中的任何 DOCKER* 环境变量。
- 安装软件包需要 sudo 权限。
OSX
将 /Users 挂载到 Minishift VM
当 Minishift VM 启动时,/Users 卷将挂载到 VM。这是通过设置环境变量 XHYVE_VIRTIO_9P=true
来完成的。该变量在启动过程中暂时设置。
Linux
- 需要安装并正常工作的 KVM。该角色为 KVM 安装 Docker Machine 驱动,但假定 KVM 已经安装并正常运行。
- Ansible 2.2+
Fedora
- 安装软件包 python2-dnf 和 libselinux-python
已知问题
Fedora
在访问 Minishift 实例上的 Docker 守护进程之前,您需要修改
/etc/sysconfig/docker
脚本,以防止它覆盖 DOCKER_CERT_PATH 环境变量。编辑该文件,将DOCKER_CERT_PATH=/etc/docker
改为以下内容:if [ -z "${DOCKER_CERT_PATH}" ]; then DOCKER_CERT_PATH=/etc/docker fi
默认值
minishift_repo: minishift/minishift
存放 minishift 二进制文件的仓库
minishift_github_url: https://api.github.com/repos
访问 GitHub API 的 URL。
minishift_release_tag_name: ""
默认安装最新版本。用于安装特定的 minishift 版本。
minishift_dest: /usr/local/bin
安装 minishift 二进制文件的位置。
minishift_force_install: yes
覆盖在 {{ minishift_dest }} 处找到的任何现有 minishift 二进制文件。
minishift_restart: yes
停止并重新创建现有的 minishift 实例。
minishift_delete: yes
执行
minishift delete
,并移除~/.minishift
。如果您正在升级,大概率需要执行此操作。
minishift_start_options: []
提供一系列选项传递给
minishift start
。例如:['--memory', '4GB', '--cpus', '4']
openshift_client_dest: /usr/local/bin
安装 OpenShift 客户端二进制文件的位置。
openshift_force_client_copy: yes
覆盖在 {{ openshift_client_dest }} 处找到的任何现有 OpenShift 客户端二进制文件。
openshift_hostname: local.openshift
当您准备推送镜像时,引用本地注册表时使用的主机名。会被添加到
/etc/hosts
中。
示例剧本
以下是一个包含所有默认参数的示例剧本。您可以在项目树的根目录找到这个示例。
---
- name: 安装 minishift
hosts: localhost
connection: local
gather_facts: yes
roles:
- role: chouseknecht.minishift
minishift_repo: minishift/minishift
minishift_github_url: https://api.github.com/repos
minishift_release_tag_name: ""
minishift_dest: /usr/local/bin
minishift_force_install: yes
minishift_restart: yes
minishift_delete: yes
minishift_start_options: []
openshift_client_dest: /usr/local/bin
openshift_force_client_copy: yes
openshift_hostname: local.openshift
安装角色后,将 minishift-up.yml 复制到您的项目目录,并使用 --ask-become-pass
选项执行它。例如:
# 安装角色
$ ansible-galaxy install chouseknecht.minishift-up-role
# 将剧本从您的角色路径复制到当前工作目录
$ cp ${ANSIBLE_ROLES_PATH}/chouseknecht.minishift-up-role/minishift-up.yml .
# 创建一个 localhost 清单文件
$ echo "localhost">./inventory
# 运行剧本
$ ansible-playbook -i inventory --ask-become-pass minishift-up.yml
依赖关系
无
许可证
Apache v2