magicalyak.minishift_up

构建状态

minishift-up

安装最新的 minishift 二进制文件,并创建一个 minishift 实例。

执行以下任务:

  • 下载并安装最新的 minishift 二进制文件
  • 将最新的 oc 二进制文件从 ~/.minishift/cache/oc 复制到你的 PATH 目录中
  • 安装 Docker Machine 驱动程序
  • 创建一个 minishift 实例
  • 授予 admin 账户集群管理员权限

访问注册表

在角色执行完成并且 minishift 正在运行后,您可以通过设置 minishift docker-env eval 命令来访问内部注册表:

    eval $(minishift docker-env)
    docker login -u developer -p $(oc whoami -t)

支持的平台

  • Debian
  • Red Hat
  • OSX

先决条件

  • Ansible 2.4+
  • 在运行该角色之前,请清除终端会话中的任何 DOCKER* 环境变量。
  • 安装软件包需要 sudo 权限
  • git(如果使用社区附加模块)
  • gnu tar(通过 brew 安装 gnu-tar)

OSX

将 /Users 挂载到 Minishift VM

启动 Minishift VM 时,将会把 /Users 卷挂载到虚拟机。这是通过设置环境变量 XHYVE_VIRTIO_9P=true 来完成的。

Linux

  • 安装并正常工作 KVM。该角色安装 KVM 的 Docker Machine 驱动程序,但假设 KVM 已经安装并正常工作。
  • Ansible 2.4+

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 客户端二进制文件。

minishift_experimental: no

启用实验性功能

minishift_service_catalog: no

启用服务目录组件

use_hyperkit: no

对于 MaxOSX,您可以通过将此项设置为 yes 来“尝试”使用 hyperkit 而不是 xhyve。

minishift_addons_enable: no

要使用附加模块,请设置为 yes。

minishift_addons_community_enable: no

要使用社区附加模块,请设置为 yes 并设置路径。

minishift_addons_community_path: $HOME/Downloads/git

将此设置为要安装的社区附加模块路径(必须存在)。

minishift_redhat_login: '123456|magicalyak' minishift_redhat_password: 'token_stuff_stuff_token'

将此设置为红帽容器服务账户的用户名和密码。

示例剧本

以下是一个包含所有默认参数的示例剧本。您可以在项目树的根目录中找到该示例。

---
- name: 安装 minishift
  hosts: localhost
  connection: local
  gather_facts: yes
  roles:
    - role: magicalyak.minishift_nginx
      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
      minishift_experimental: no
      minishift_service_catalog: no
      use_hyperkit: yes
      minishift_addons_enable: no
      minishift_addons:
      minishift_addons:
        anyuid: no
        registry_route: no
        admissions_webhook: no
        htpasswd_identity_provider: no
        xpaas: no
        redhat_registry_logon: no
        che: no
        prometheus: no
        admin_user: yes
      minishift_addons_community_enable: no
      minishift_addons_community_path: $HOME/Downloads/git
      minishift_addons_community:
        ansible_service_broker: no
        dotnet: no
        example: no
        grafana: no
        helm: no
        istio: no
        management_infra: no
        workshop: no
        eap_cd: no

安装角色后,将 minishift-nginx.yml 复制到您的项目目录,并使用 --ask-become-pass 选项执行。例如:

# 安装角色
$ ansible-galaxy install magicalyak.minishift_up

# 将剧本从角色路径复制到当前工作目录
$ cp ${ANSIBLE_ROLES_PATH}/magicalyak.minishift_up/minishift-up.yml .

# 创建一个 localhost 清单文件
$ echo "localhost">./inventory

# 运行剧本
$ ansible-playbook -i inventory --ask-become-pass minishift-up.yml

依赖项

git(如果使用社区附加模块) gnu-tar(通过 brew 安装 gnu-tar)

许可证

Apache v2

作者

@magicalyak

致谢

我大部分内容都来自 Chris Houseknecht 的角色 minishift-up-role 在 ansible galaxy 上 @chouseknecht

安装
ansible-galaxy install magicalyak.minishift_up
许可证
apache-2.0
下载
97
拥有者
Product Manager at Tigera for @tigera.io contributions. Contributions are my own for @gmail.com contributions.