默认eks创建好以后是没有配置界面的,没有界面用起来实在很麻烦。这里推荐使用rancher2.0的页面,简单漂亮使用方便。适合研发、测试等人员使用,基本就是鼠标点点点就行。
rancher安装:
使用helm进行安装操作,所以这里需要下载一个helm工具。
wget https://get.helm.sh/helm-v3.6.1-linux-amd64.tar.gz
tar -xf helm-v3.6.1-linux-amd64.tar.gz
mv linux-amd64/helm /usr/bin/
添加仓库:
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
helm repo update
创建名称空间:
kubectl create namespace cattle-system
安装rancher:
因为上一章安装负载均衡的时候部署了cert-manager所以这里使用Rancher 生成的自签名证书来安装。
helm install rancher rancher-stable/rancher --namespace cattle-system --set hostname=rancher.xxxx.net --set replicas=3
使用kubectl -n cattle-system get pod命令查看安装情况。
到这里暂时还无法访问,需要编辑ingress才能正常暴露处理,在aws的负载均衡上注册。
kubectl -n cattle-system delete ingress rancher
保存下面的内容到rancher-ingress.yaml文件中
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:ap-southeast-1:xxxxxxxx:certificate/34105703-145a-12312-a28e-565e8be89c6a
alb.ingress.kubernetes.io/healthcheck-path: /login
alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}]'
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/success-codes: 403,404
alb.ingress.kubernetes.io/target-type: ip
kubernetes.io/ingress.class: alb
meta.helm.sh/release-name: rancher
meta.helm.sh/release-namespace: cattle-system
nginx.ingress.kubernetes.io/proxy-connect-timeout: "30"
nginx.ingress.kubernetes.io/proxy-read-timeout: "1800"
nginx.ingress.kubernetes.io/proxy-send-timeout: "1800"
name: rancher
namespace: cattle-system
spec:
rules:
- host: rancher.xxxxx.net
http:
paths:
- backend:
serviceName: rancher
servicePort: 80
pathType: ImplementationSpecific
arn:aws:acm:ap-southeast-1:xxxxxxxx:certificate/34105703-145a-12312-a28e-565e8be89c6a这个是亚马逊上的证书arn内容,如果你使用的是外部的其它证书请参考https://docs.rancher.cn/docs/rancher2.5/installation/install-rancher-on-k8s/_index rancher的安装文档。rules:的hosts修改成自己的域名。
执行 kubectl apply -f rancher-ingress.yaml
kubectl -n cattle-system get ingress 查看状态,如果成功就会在ADDRESS一栏看到内容
kubectl -n cattle-system get ingress
NAME CLASS HOSTS ADDRESS PORTS AGE
rancher <none> rancher.xxxxx.net k8s-cattlesy-rancher-xxxxx-xxxx.ap-southeast-1.elb.amazonaws.com 80 28s
这样暂时还无法访问,你需要在dns中添加CNAME解析记录指向这个ADDRESS中的地址。
添加dns:
解析完成就可以输入域名访问rancher了。如https://rancher.xxxx.net剩下的就是设置密码,等动作。
这样界面就算完全安装成功了。但是目前还不能正常使用,我们还缺少一些其它东西。比如镜像仓库、用来部署基础组件的共享存储等。
下一章将介绍如何安装亚马逊的共享存储到集群中