之前就在本地环境装了minikube,然后试着安装Rancher 2.* 结果没成功,复杂的本地网络及各种虚拟ip导致最后失败了。最近又重燃旧火,决定再装一下。
准备工作
升级minikube到最新版1.6.2
#新版不支持brew cask方式,所以重新安装
brew install minikube
安装kubectl
brew install kubectl
升级本地xcode,至少大于9.0,才能很好的支持hyperkit,系统应该至少是10.13+
启动minikube
好吓人直接拿走我2个cpu
#先配置一下kubectl
➜ ~ kubectl config current-context
➜ ~ minikube
#开始启动
➜ ~ minikube start
? Darwin 10.15.2 上的 minikube v1.6.2
✨ Automatically selected the 'hyperkit' driver (alternates: [])
? 正在创建 hyperkit 虚拟机(CPUs=2,Memory=2000MB, Disk=20000MB)...
? 正在 Docker '19.03.5' 中准备 Kubernetes v1.17.0…
? 拉取镜像 ...
? 正在启动 Kubernetes ...
⌛ Waiting for cluster to come online ...
? 完成!kubectl 已经配置至 "minikube"
安装rancher server端
这里我采用的是自己生成的证书,具体证书的生成方式可以参考地址:rancher 2.x 中文文档
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
-v <主机路径>:/var/lib/rancher/ \
-v /var/log/rancher/auditlog:/var/log/auditlog \
-e AUDIT_LEVEL=3 \
-v /etc/<CERT_DIRECTORY>/tls.crt:/etc/rancher/ssl/cert.pem \
-v /etc/<CERT_DIRECTORY>/tls.key:/etc/rancher/ssl/key.pem \
-v /etc/<CERT_DIRECTORY>/cacerts.pem:/etc/rancher/ssl/cacerts.pem \
rancher/rancher:stable (或者rancher/rancher:latest)
启动rancher
设置admin
用户密码,及server url
,注意这个server url
填写的是本机的ip
,不是docker
容器里的虚拟ip
,而且上一步生成的证书时也加上了这个ip
的信任
添加导入minikube集群
kubectl apply -f https://<server-url>/v3/import/fnt62bkbp58n2t6hcfgqqjm58tzt8sn8m85gsqzjsrlbcv2l9cw4gd.yaml
如果证书没问题,复制第二条执行去终端执行即可,然后保存
最后完成结束
上一步点击保存后会看到一只在pending,稍等一会会出现waiting,继续等待完成,最终出现
重点采坑注意
- Rancher server url的设置是一个集群内容器可以访问的一个地址,不管Rancher server端和k8s集群在不在同一的服务器,都需要设置成Rancher server服务端的地址,由于是本机安装不给域名做解析,所以采用ip设置
- 证书的生成很重要,不然集群内的Rancher agent访问server端会出现证书的509验证不通过问题,所以证书的生成需要信任Rancher server url的地址或ip,由于本机安装如果是域名可能在集群里访问不到,所以用了本机ip
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。