Vagrant CoreOS 部署 Kubernetes 測試叢集


本文章已被棄用,請不要參考。
(This post is being deprecated. Don’t refer it.)

本節將透過 Vagrant 與 CoreOS 來部署單機多節點的 Kubernetes 虛擬叢集,並使用 Kubernetest CLI 工具與 API 進行溝通。

本次安裝版本為:

  • CoreOS alpha.
  • Kubernetes v1.5.4.

Read More

Share Comments

Ansible Playbooks

Playbooks 是 Ansible 的設定、部署與編配語言等。可以被用來描述一個被遠端的主機要執行的指令方案,或是一組 IT 行程執行的指令集合。

在基礎層面上,Playbooks 可以被用來管理部署到遠端主機的組態檔案,在更高階層上 Playbooks 可以循序對多層式架構上的伺服器執行線上的 Polling 更新內部的操作,並將操作委派給其他主機,包含過程中發生的監視器服務、負載平衡伺服器等。

Read More

Share Comments

Ansible Dynamic Inventory

在預設情況下,我們所使用的都是一個靜態的 Inventory 檔案,編輯主機、群組以及變數時都需要固定手動編輯完成。

Ansible 提供了 Dynamic Inventory 檔案,這個檔案是透過呼叫外部腳本或程式來產生指定的格式的 JSON 字串。這樣做的好處就是可以透過這個外部腳本與程式來管理系統(如 API)抓取最新資源訊息。

Read More

Share Comments

Ansible Ad-Hoc 指令與 Modules

ad-hoc command(特設指令)簡單說就是直接執行指令,這些指令不需要要被保存在日後使用。在進行 Ansible 的 Playbook 語言之前,了解 ad-hoc 指令也可以幫助我們做一些快速的事情,不一定要寫出一個完整的 Playbooks 指令。

模組(也被稱為Task plugins或是Library plugins)是 Ansible 中實際執行的功能,它們會在每個 Playbook 任務中被執行,也可以透過 ansible 直接呼叫使用。目前 Ansible 已經擁有許多模組,可參閱 Module Index

Read More

Share Comments

Ansible Inventory

Ansible 在同一時間能夠工作於多個系統,透過在 inventory file 所列舉的主機與群組來執行對應的指令,該檔案預設存於/etc/ansible/hosts

IT 人員不只能夠使用預設的檔案,也能夠在同一時間使用多個檔案,甚至來抓取來至雲端的 inventory 檔案,這是一個是動態的 inventory ,這部分可以參考 Dynamic Inventory

Read More

Share Comments

Ansible 介紹與使用

Ansible 是最近越來越夯多 DevOps 自動化組態管理軟體,從 2013 年發起的專案,由於該架構為無 agent 程式的架構,以部署靈活與程式碼易讀而受到矚目。Ansible 除了有開源版本之外,還針對企業用戶推出 Ansible Tower 版本,已有許多知名企業採用,如 Apple、Twitter 等。

Ansible 架構圖如下所示,使用者透過 Ansible 編配操控公有與私有雲或 CMDB(組態管理資料庫)中的主機,其中 Ansible 編排是由Inventory(主機與群組規則)APIModules(模組)Plugins(插件)組合而成。

Read More

Share Comments

透過 Ansible 部署 Ceph 叢集

本節將介紹如何透過 ceph-ansible 工具安裝一個測試的 Ceph 環境,一個最簡單的 Ceph 儲存叢集至少要一台 Monitor三台 OSD。而 MDS 則是當使用到 CephFS 的時候才需要部署。

Read More

Share Comments

透過 Foreman 管理 Puppet

Foreman 是一個 Puppet 的生命周期管理系統,類似 puppet-dashboard,通過它可以很直觀的查看 Puppet 所有客戶端的同步狀態與 facter 參數。

Read More

Share Comments

Puppet 介紹與使用

Puppet 是一個開放原始碼專案,基於 Ruby 的系統組態管理工具,採用 Client/Server 的部署架構。是一個為了實現資料中心自動化管理,而被設計的組態管理軟體,它使用跨平台語言規範,管理組態檔案、使用者、軟體套件與系統服務等。用戶端預設每個半小時會與伺服器溝通一次,來確定是否有更新。當然也可以配置主動觸發來強制用戶端更新。這樣可以把平常的系統管理工作程式碼化,透過程式碼化的好處是可以分享、保存與避免重複勞動,也可以快速恢復以及快速的大規模環境部署伺服器。

Read More

Share Comments

SaltStack 介紹

Saltstack 是一套基礎設施管理開發套件、簡單易部署、可擴展到管理成千上萬的伺服器、控制速度佳(以 ms 為單位)。Saltstack 提供了動態基礎設施溝通總線用於編配、遠端執行、配置管理等等。Saltstack 是從 2011 年開始的專案,已經是很成熟的開源專案。該專案簡單的兩大基礎功能就是配置管理與遠端指令執行。

Saltstack 採用集中化管理,我們一般可以理解為 Puppet 的簡化版本與 Func
的加強版本。Saltstack 是基於 Python 語言開發的,結合輕量級訊息佇列(ZeroMQ)以及 Python 第三方模組(Pyzmq、PyCrypto、Pyjinja2、python-msgpack與PyYAML等)。

Read More

Share Comments