尝试1 Rancher 2.0
Rancher 2.0 TECH PREVIEW 基于Kubernetes进行了重构,重要组件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.
赶紧装了一个,看到这个一键部署的界面心情愉悦。
继续往下发现无法添加自定义节点,看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
转而研究RKE,类似的k8s安装工具还有 Kops,Kubespray,kubeasz。
introduction
quick-start-guide
github
由于还是开发阶段,需要严格按照RKE要求配置环境:
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,
笔者切换了用户依旧报错。
第二次尝试
更改配置文件让集群在另一台主机启动,注意这里必须配置两台主机之间的ssh免密登录,并且主机的docker,openssh配置符合要求:
nodes:
- address: 10.0.41.49
user: root
role: [controlplane,worker,etcd]
启动后可以正常执行,直到报错如下:
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
由于是预览版,并且感觉到在CentOS上的测试并不充分,Ubuntu上应该好很多,故暂且搁置,等待正式版发布。