Kubernetes 安裝記

嘗試1 Rancher 2.0

Rancher 2.0 TECH PREVIEW 基于Kubernetes進(jìn)行了重構(gòu),重要組件RKE簡化了Kubernetes的安裝。

The Rancher container management platform has become an increasingly popular way to manage containers—it's being used to run tens of thousands of clusters. With Kubernetes becoming the fastest developing technology in the container ecosystem, we saw an opportunity. And rebuilt Rancher on Kubernetes. Rancher 2.0 provides the same great user experience on all Kubernetes clusters, whether they are managed using Rancher or existing Kubernetes clusters. The result? It’s now even easier for you to adopt Kubernetes and run containers.

趕緊裝了一個,看到這個一鍵部署的界面心情愉悅。


image.png

繼續(xù)往下發(fā)現(xiàn)無法添加自定義節(jié)點(diǎn),看quick-start-guide文檔讀到這一段表示無奈。

Currently in the tech preview, only Digital Ocean and AWS nodes are supported, but support for all the cloud providers and adding custom nodes will be added.

嘗試2 RKE

轉(zhuǎn)而研究RKE,類似的k8s安裝工具還有 Kops,Kubespray,kubeasz。
introduction
quick-start-guide
github

由于還是開發(fā)階段,需要嚴(yán)格按照RKE要求配置環(huán)境:

Requirements
Docker versions 1.12.6, 1.13.1, or 17.03 should be installed for Kubernetes 1.8.
OpenSSH 7.0+ must be installed on each node for stream local forwarding to work.
The SSH user used for node access must be a member of the docker group:
usermod -aG docker <user_name>
Ports 6443, 2379, and 2380 should be opened between cluster nodes.

Docker安裝 - CentOS 7.2
OpenSSH升級7.5 - CentOS 7.2

第一次嘗試

wget https://github.com/rancher/rke/releases/download/v0.1.0/rke
chmod +x ./rke
./rke up --config cluster.yml

Minimal cluster.yml

ssh_key_path: ~/.ssh/id_rsa

nodes:
  - address: 127.0.0.1
    user: root
    role: [controlplane,worker,etcd]

services:
  etcd:
    image: quay.io/coreos/etcd:latest
  kube-api:
    image: rancher/k8s:v1.8.3-rancher2
  kube-controller:
    image: rancher/k8s:v1.8.3-rancher2
  scheduler:
    image: rancher/k8s:v1.8.3-rancher2
  kubelet:
    image: rancher/k8s:v1.8.3-rancher2
  kubeproxy:
    image: rancher/k8s:v1.8.3-rancher2

報錯如下:

[root@VM_9_81_centos data]# ./rke up
INFO[0000] Building Kubernetes cluster
INFO[0000] [dialer] Setup tunnel for host [127.0.0.1]
FATA[0000] Failed to set up SSH tunneling for Etcd host [127.0.0.1]: Can't retrieve Docker Info: error during connect: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.24/info: Failed to dial ssh using address [127.0.0.1:22]: ssh: handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain

參考issues/93,大概是CentOS下OpenSSH不支持root用戶stream local forwarding,
筆者切換了用戶依舊報錯。

第二次嘗試

更改配置文件讓集群在另一臺主機(jī)啟動,注意這里必須配置兩臺主機(jī)之間的ssh免密登錄,并且主機(jī)的docker,openssh配置符合要求:

nodes:
  - address: 10.0.41.49
    user: root
    role: [controlplane,worker,etcd]

啟動后可以正常執(zhí)行,直到報錯如下:

FATA[0113] Failed to deploy addon execute job: Failed to get job complete status: <nil>

參考issues/236修改配置:

kubelet:
    image: rancher/k8s:v1.8.3-rancher2
    extra_args: {"cgroup-driver":"systemd","fail-swap-on":"false"}

重新啟動成功。

[root@VM_41_49_centos ~]# docker ps
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS              PORTS               NAMES
a130fb55e727        rancher/k8s:v1.8.3-rancher2   "/opt/rke/entrypoint."   12 hours ago        Up 12 hours                             kube-proxy
c48de5df898f        rancher/k8s:v1.8.3-rancher2   "/opt/rke/entrypoint."   12 hours ago        Up 12 hours                             kubelet
230e27bc227a        rancher/k8s:v1.8.3-rancher2   "/opt/rke/entrypoint."   12 hours ago        Up 12 hours                             scheduler
5bd79567afb2        rancher/k8s:v1.8.3-rancher2   "/opt/rke/entrypoint."   12 hours ago        Up 12 hours                             kube-controller
e670b28514ef        rancher/k8s:v1.8.3-rancher2   "/opt/rke/entrypoint."   12 hours ago        Up 12 hours                             kube-api
83d35086940f        quay.io/coreos/etcd:latest    "/usr/local/bin/etcd "   13 hours ago        Up 13 hours                             etcd

用Rancher2.0管理k8s集群
http://rancher.com/rancher2-0/

$ sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/server:preview

由于是預(yù)覽版,并且感覺到在CentOS上的測試并不充分,Ubuntu上應(yīng)該好很多,故暫且擱置,等待正式版發(fā)布。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容