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
作者
致谢
我大部分内容都来自 Chris Houseknecht 的角色 minishift-up-role 在 ansible galaxy 上 @chouseknecht