您好,登錄后才能下訂單哦!
在Rancher中,由于Kubernetes是基于Cattle引擎來部署,所以在Kubernetes部署完成之后,我們可以通過Link Graph來很清晰地看到整體的部署情況。
既然基于Cattle引擎部署,也就是說需要兩個compose文件,k8s引擎的compose文件放在https://github.com/rancher/rancher-catalog/tree/master/templates 下面,這里面有兩個相關目錄kubernetes與k8s,k8s是Rancher1.2開始使用的,而kubernetes則是Rancher1.2之后開始使用的。
為了我們可以自己hack一下rancher k8s的部署,我們可以在github上fork一下rancher-catalog,同時還需要修改一下Rancher中默認的catalog的repo地址,這個可以在 http://<rancher-server>/v1/settings 頁面下,尋找名為 catalog.url 的配置項,然后進入編輯修改。比如我這里將library庫的地址換成了自己的 https://github.com/niusmallnan/rancher-catalog.git 。
此時,我們就可以修改了,找一個比較實用的場景。我們都知道k8s的pod都會依賴一個基礎鏡像,這個鏡像默認的地址是被GFW擋在墻外了,一般我們會把kubelet的啟動參數調整一下,以便重新指定這個鏡像地址,比如指定到國內的鏡像源上 --pod-infra-container-p_w_picpath=index.tenxcloud.com/google_containers/pause:2.0 。如果我們要讓rancher k8s部署時自動加上該參數,可以直接修改私有rancher-catalog中的k8s compose文件。
修改之后稍等片刻(主要是為了讓rancher-server更新到新的catalog compose文件),添加一個k8s env并在其中添加host,k8s引擎就開始自動部署,部署完畢后,我們可以看到Kubernetes Stack的compose文件,已經有了--pod-infra-container-p_w_picpath這個啟動參數。
如此我們在添加pod時再也不用手動導入pod基礎鏡像了。
在compose file中,部署k8s的基礎鏡像是rancher/k8s,這個鏡像的Dockerfile在rancher維護的k8s分支中,如在rancher-k8s 1.2.4分支中可以看到:
這樣如果想對rancher-k8s發行版進行深度定制,就可以重新build相關鏡像,通過rancher-compose來部署自己的發行版。
原文來源:Rancher Labs
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。