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

作者

@chouseknecht

关于项目

Run OpenShift locally using minishift

安装
ansible-galaxy install chouseknecht.minishift
许可证
apache-2.0
下载
365
拥有者
Ansible Galaxy Engineering Manager