默认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
这个alb.ingress的注释是aws的负载均衡,具体使用方式请参考
https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/guide/ingress/annotations/ 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 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剩下的就是设置密码,等动作。
这样界面就算完全安装成功了。但是目前还不能正常使用,我们还缺少一些其它东西。比如镜像仓库这些,下一章讲如果自建镜像仓库。
本文地址:https://www.linuxprobe.com/k8s-rancher-eks.html