rancher-k8s-kubesphere
rancher,k8s,kubesphere
因为开发准备使用docker的结构来发布软件,为了满足他们的需求,需要尽快搞一套管理平台给他们用。 原始的基于kubeadm的模式构建感觉比较烦。 这次采用了rancher的方式,会比较方便一点。
rancher对于我来说比较方便,但是对于使用者来说可能没有kubesphere好用。其实本质都一样,但是各花入各眼,做个kubepsher的ui对他们来说比较好一点。
过程
- 4台centos7的机器,其中3台做k8s,1台做rancher的管理机
- 按照rancher的需求,我这里关闭了防火墙,将这台rancher的管理机器的公钥拷贝到其他的3台机器
- 安装docker
- 安装docker的时候最好确认下以后文件的存储位置。默认docker文件存储/var/lib/docker中。
- 可以适当的将/var/空间扩容,或者移动docker的默认存储到较大的空间,方便以后使用
- 配置管理机的dns
- sudo docker run -d -v /opt/rancher-data:/var/lib/rancher –restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher
- rancher安装完毕后,可以直接使用https://dns名称 的方式打开访问界面,设定密码后进入管理界面
- 选择创建集群,输入集群名
- 选择使用已有的机器,按照需求勾选机器的职能,然后拷贝出现的命令行,在对应的主机上面运行即可。
- 等待集群构建完成
- 测试创建部署服务,见这里
- 测试部署ingress和nodeport的两个方式,访问对应的服务
- 在全局的界面,能看到kubectl的按钮,这里可以利用kubectl做很多事情
- 创建存储类(storageclass),这里使用longhore
- 开始在节点安装必要组件,参见这里
- yum install iscsi-initiator-utils -y
- 在k8s部署: kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/master/deploy/longhorn.yaml
- 部署完成后会产生新的longhore的命名空间
- 可以通过ingress来映射longhore的web ui访问
- 创建完成后,设定为默认存储类,设定完成后,存储类的默认会出现闪亮的五星标志。这个步骤可以直接在图像界面用鼠标确定。
- kubectl get storageclass
- kubectl patch storageclass
-p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
- 开始部署kubesphere
- 参看这里
- 如果没有默认的存储类,会部署失败。
- 部署完成后,将kubesphere对应的命名空间移动到kube-system中。等待所有的pod启动完成。
下面看图