2

之前就在本地环境装了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集群

image.png
image.png

kubectl apply -f https://<server-url>/v3/import/fnt62bkbp58n2t6hcfgqqjm58tzt8sn8m85gsqzjsrlbcv2l9cw4gd.yaml

如果证书没问题,复制第二条执行去终端执行即可,然后保存

最后完成结束

上一步点击保存后会看到一只在pending,稍等一会会出现waiting,继续等待完成,最终出现
image.png

重点采坑注意

  1. Rancher server url的设置是一个集群内容器可以访问的一个地址,不管Rancher server端和k8s集群在不在同一的服务器,都需要设置成Rancher server服务端的地址,由于是本机安装不给域名做解析,所以采用ip设置
  2. 证书的生成很重要,不然集群内的Rancher agent访问server端会出现证书的509验证不通过问题,所以证书的生成需要信任Rancher server url的地址或ip,由于本机安装如果是域名可能在集群里访问不到,所以用了本机ip

Snowy小宝
4 声望2 粉丝