2016-07-22 161 views
5

我正在測試和學習kubernetes。我使用的是Ubuntu 16.04,一直在尋找簡單直接的安裝指南,但沒有找到一個...任何建議?我的目標是能夠在一臺Ubuntu 16.04筆記本電腦上運行kubernetes作爲主服務器,並且稍後再設置第二臺Ubuntu 16.04筆記本電腦,輕鬆加入羣集。我想知道這是否可以通過當前版本的kubernetes和16.04版本的ubuntu實現...任何指向指南或有用資源的指針都將被讚賞...最好的問候。ubuntu上的kubernetes 16.04

+0

您想了解如何使用Kubernetes羣集或如何部署?這些是非常不同的任務。 – svenwltr

+1

我正在學習如何安裝所有部件,以便擁有kubernetes集羣並在kubernetes集羣上運行docker應用程序。我想首先建立兩個節點(在我的情況下,兩個Ubuntu 16.04筆記本電腦......這是可能的嗎?然後我會試着看看是否可以用我的兩個水滴在數字海洋上建立一個kubernetes羣集...或者如何讓運行ubuntu 16.04的兩個水滴連接形成kubernetes集羣並運行docker應用程序... – user3669547

回答

0

不知道這是否符合你的需求,但Minikube是海事組織在本地運行一個Kubernetes集羣fastes方式:https://github.com/kubernetes/minikube

除此之外:建立一個多節點集羣不是簡單的任務,因爲你必須設置覆蓋網絡,而Kubernetes包含許多組件。

+0

可以使用flannel和etcd解決網絡和服務發現問題嗎?我看過CoreOS和其他主要雲的教程提供者,但不是Ubuntu的16.04 ... – user3669547

+0

我目前正在閱讀本指南:http://kubernetes.io/docs/getting-started-guides/docker-multinode/ – user3669547

+0

這對我來說看起來不錯。 – svenwltr

1

您可以檢查通過cluster/get-kube-local.sh調出單節點羣集的方式。它向您展示瞭如何使用hyperkube啓動集羣。

如果你想進入基礎細節,另一種方法是檢查出hack/local-up-cluster.sh的內容。這分別帶來了每個組件,如:

  • KUBE-API服務器
  • KUBE代理
  • KUBE-DNS
  • KUBE控制器的管理器

一個可能使用您的問題中所述的創建雙節點羣集的步驟相同。

+0

cluster /get-kube-local.sh未完成...它卡在以下任務中:檢測到現有的kubectl二進制文件。跳過下載。 創建本地集羣: \t啓動kubelet ... SUCCESS \t等待主組件啓動................................... .................................................. .................................................. .................................................. ..^ – user3669547

+0

不確定爲什麼沒有創建羣集。我在ubuntu 16.04上運行腳本...我想知道腳本中定義的localhost:8080是否被分配了特定的端口...我檢查了沒有其他容器使用相同的端口... – user3669547

+0

@ user3669547您可能想檢查'kubectl版本'。如果它返回一個服務器版本字符串,則服務器啓動。它可能已經開始運行。有時會發生這樣的情況,即它在等待組件已經啓動它們時纔開始。您可以通過運行docker ps來查看它是否啓動了正確的容器。 –

0
+3

該指南表示它已在Ubuntu 14.0上測試過,但無法在使用systemd的ubuntu 15.00上運行。我明白,Ubuntu 16.04也使用systemd(而不是新貴)。這就是爲什麼我沒有嘗試遵循kubernetes文檔中提供的指南的原因......除非有人告訴我如何使系統適應指令......哪裏以及要改變什麼......這並不明確在這個階段。感謝您的建議。 – user3669547

+0

這不是現在可用.. – karthikeayan

+0

我更新了鏈接 – svenwltr

-1

請嘗試https://github.com/nitinmidha/kube-cluster它與KUBE v1.4.6測試和Ubuntu 16.04

這些是用提供「Kubernetes HA(的bash腳本多主站與ETCD聚類,多僕從)安全(客戶端認證上ETCD和KUBE-API服務器)羣集在Ubuntu 16.04"

限制

  1. https://master_ip/ui將無法​​正常工作,因爲主站無法到達集裝箱。儀表板作爲單獨的內部服務託管在端口9090上的小型節點上,使用儀表板服務IP地址。如果需要,可以通過任何反向代理服務器(如NGINX)進行代理。或服務可以暴露節點端口並且可以在羣集外部可用

  2. kube-apiserver公開端口8080用於主節點上的127.0.0.1接口。一旦https://github.com/kubernetes/kubernetes/issues/13598被固定並且可用, - 安全端口將被設置爲0.

  3. 法蘭絨不保護數據包。有一個PR(https://github.com/coreos/flannel/pull/290)添加將加密數據包的ipsec後端。一旦該功能可用,安裝程序將被配置爲保護它。

  4. kubelet和kube-proxy不支持多個kube-apiserver地址。所以我們仍然有單點故障,因爲只能配置一個IP地址。要解決此問題,我們可以在外部負載均衡器下公開所有主節點,然後指向該地址。問題記錄在kubernetes中。 https://github.com/kubernetes/kubernetes/issues/19152

特點

  1. 多主站集羣與集羣ETCD。
  2. ETCD客戶端和對等通信之間的TLS通信和客戶端證書認證。
  3. 所有kube組件之間的TLS通信和客戶端證書認證
  4. 法蘭絨用於聯網。 Flannel不支持TLS。
  5. 節點可以是僅限主人,僅限工作人員和主 - 輔助工模式。 Master Only節點不具有法蘭絨/ kubelet和kube-proxy,因此無法觸及到豆莢。另外命令'kubelet get nodes'不會顯示這個節點。
  6. 可選擇使用TLS連接到現有的ETCD羣集。
+0

謝謝你的評論,答案已被更新.... –