ansible with openSUSE Leap 15 container image 建立小記
OS: openSUSE Leap 15
最近換了 MacAir 13 Mojave 10.14.4
嘗試在 Mac Mojave 上面裝 ansible[azure], 但是經歷了太多版本相容性的問題
-- > 放棄, 決定使用 openSUSE Leap 15 container 來解決
以下是我的 Dockerfile
# openSUSE Leap 15 with ansible, azure-cli
FROM opensuse/leap:15
# Author
# MAINTAINER 已經棄用, 之後要使用 LABEL 方式
LABEL maintainer="sakana@cycu.org.tw"
# Install python2-pip, upgrade pip, ansible[azure]
RUN zypper install -y python2-pip && \
pip2 install --upgrade pip && \
pip2 install ansible[azure]
# Install wget, download azure_rm.py, set permission
RUN zypper install -y wget && \
wget https://raw.githubusercontent.com/ansible/ansible/devel/contrib/inventory/azure_rm.py && \
chmod a+x azure_rm.py
# Install azure-cli
RUN zypper install -y curl && \
rpm --import https://packages.microsoft.com/keys/microsoft.asc && \
zypper addrepo --name 'Azure CLI' --check https://packages.microsoft.com/yumrepos/azure-cli azure-cli && \
zypper install --from azure-cli -y azure-cli
#install vim
RUN zypper install -y vim
使用 docker build 指令將他打包成 image 並上傳到 docker hub
要使用的方式很簡單, 預設的 Tag 為 latest
下載 docker image
> docker pull sakana/ansible_opensuse15
這個 image 包含
- ansible
- azure-cli
- azure SDK
- azure_rm.py ( Dynamic inventory 使用 )
- 但是最近 Azure 改變驗證的方式, 所以目前 azure_rm.py 可能有點問題, 還需要觀察還有實驗
- 原本驗證檔案是看 ~/.azure/credentials
- 現在可能會去看 ~/.azure/azureProfile.json
使用方式很簡單
> docker run -it sakana/ansible_opensuse15 /bin/bash
在 container 內執行 az login 指令
# az login
- 會被要求開啟瀏覽器進行帳號驗證
- 驗證成功會自動建立 ~/.azure 目錄以及相關驗證檔案
接下來就可以開始使用 ansible 指令進行管理
日後計畫把 ansible with aws 或是 ansible with gcp 放進來
~ enjoy it
Reference:
沒有留言:
張貼留言