Skip to content

Latest commit

 

History

History
98 lines (55 loc) · 3.38 KB

requirement2.md

File metadata and controls

98 lines (55 loc) · 3.38 KB

Rquirement 2

汪喆昊 516030910460 F1603703

项目环境

  • Tencent clout dual-core 4GB server
  • Ubuntu 16.04
  • Docker 17.03

根据同学的建议,使用RKE来搭建Kubernetes环境。由于有前辈的指导,整个过程中没有遇到太多问题。

步骤

1. 安装RKE

wget https://github.com/rancher/rke/releases/download/v0.1.15/rke_linux-amd64
mv rke_linux-amd64 rke
chmod +x ./rke

2. 安装Docker

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

3. SSH相关配置

为确保可以ssh到本机,需要用ssh-keygen工具产生公钥,并复制到~/.ssh/authorized_keys中。

4. 配置RKE配置文件cluster.yml

./rke config --name cluster.yml

使用上面这条命令创建cluster.yml。我自己在创建的时候仅设置了ip地址、密钥位置,并且确保control panel、etcd选项为真。

5. 运行rke

./rke up

如果最后一行有Finished building Kubernetes cluster successfully的字样,集群就应该创建成功了。

6. 安装kubectl

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

下图是我的运行结果,仅供参考。

kubectl安装检查

7. 创建dashboard

这一步我出现了严重的问题,在修改官方提供的kubernetes-dashboard.yaml之后,应该只要执行命令

kubectl create -f kubernetes-dashboard.yaml

就可以普通地创建dashboard,但是事与愿违:

dashboard实例化错误

我查了很长时间都没能修复这个问题。最后由于时间不够只能作罢。 最后多谢另一位大佬的指点,执行命令

cp kube_config_cluster.yml ~/.kube/config

之后就成功创建了dashboard的实例。

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文件已经包含在本项目中。

另外,感谢鄢新、潘子奕同学的鼎力相助。