汪喆昊 516030910460 F1603703
- Tencent clout dual-core 4GB server
- Ubuntu 16.04
- Docker 17.03
根据同学的建议,使用RKE来搭建Kubernetes环境。由于有前辈的指导,整个过程中没有遇到太多问题。
wget https://github.com/rancher/rke/releases/download/v0.1.15/rke_linux-amd64
mv rke_linux-amd64 rke
chmod +x ./rke
rke的文档中有提到,目前只支持docker17.03.2。安装时需要小心。可以使用rke文档中的命令直接安装。
curl https://releases.rancher.com/install-docker/17.03.sh | sh
本项目要求可以在非root模式使用docker。为此需要执行下述命令,以设置正确的用户组。
sudo groupadd docker
sudo usermod -aG docker $USER
重新登录后运行下面的命令以查看是否正确配置。
docker run hello-world
为确保可以ssh到本机,需要用ssh-keygen
工具产生公钥,并复制到~/.ssh/authorized_keys
中。
./rke config --name cluster.yml
使用上面这条命令创建cluster.yml
。我自己在创建的时候仅设置了ip地址、密钥位置,并且确保control panel、etcd选项为真。
./rke up
如果最后一行有Finished building Kubernetes cluster successfully
的字样,集群就应该创建成功了。
wget https://dl.k8s.io/v1.13.1/kubernetes-client-linux-amd64.tar.gz
tar -zxvf kubernetes-client-linux-amd64.tar.gz
cd kubernetes/client/bin
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
为检查是否成功安装,运行下述命令。注意命令中的文件kube_config_cluster.yml
应该在主目录中。
kubectl --kubeconfig kube_config_cluster.yml version
kubectl --kubeconfig kube_config_cluster.yml get nodes
下图是我的运行结果,仅供参考。
这一步我出现了严重的问题,在修改官方提供的kubernetes-dashboard.yaml
之后,应该只要执行命令
kubectl create -f kubernetes-dashboard.yaml
就可以普通地创建dashboard,但是事与愿违:
我查了很长时间都没能修复这个问题。最后由于时间不够只能作罢。
最后多谢另一位大佬的指点,执行命令
cp kube_config_cluster.yml ~/.kube/config
之后就成功创建了dashboard的实例。
创建完成后,执行以下命令
kubectl proxy --address=0.0.0.0 --accept-hosts=".*"
就可以在本机通过http://ip:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard-external:/proxy/访问到web UI的界面。(将ip替换为自己服务器的外网ip即可)
然而事与愿违,我一直无法成功连接到dashboard。服务器总是返回404。目前尚无解决方案。
上述过程中中使用的cluster.yml
文件和修改过后的kubernetes-dashboard.yaml
文件已经包含在本项目中。
另外,感谢鄢新、潘子奕同学的鼎力相助。