windows系统docker+k8s搭建rancher本地开发环境
一、k8s安装:
参考:https://github.com/AliyunContainerService/k8s-for-docker-desktop;
- 为 Docker daemon 配置镜像加速,使用中科大镜像加速地址 https://docker.mirrors.ustc.edu.cn
- 可选操作: 为 Kubernetes 配置 CPU 和 内存资源。
- 预先从阿里云Docker镜像服务下载 Kubernetes 所需要的镜像,地址:https://github.com/AliyunContainerService/k8s-for-docker-desktop 。
- 使用 Bash shell ./load_images.sh 或者 使用 PowerShell .load_images.ps1 说明: 如果因为安全策略无法执行 PowerShell 脚本,请在 “以管理员身份运行” 的 PowerShell 中执行 Set-ExecutionPolicy RemoteSigned 命令。
- 开启 Kubernetes,并等待 Kubernetes 开始运行
- 配置 Kubernetes kubectl config use-context docker-for-desktop
- 验证 Kubernetes 集群状态 kubectl cluster-info kubectl get nodes
二、heml安装
第一种方法(推荐):
- 安装配置Scoop 环境要求: Windows 版本不低于 Windows 7 Windows 中的 PowerShell 版本不低于 PowerShell 3 Windows 用户名为英文 在 PowerShell 中输入下面内容,保证允许本地脚本的执行: set-executionpolicy remotesigned -scope currentuser 执行下面的命令安装 Scoop: iex (new-object net.webclient).downloadstring(https://get.scoop.sh) 安装成功后,执行以下命令测试: scoop help 如果下载scoop的过程中断,那么必须先删除(C:Usersscoop)文件夹,再执行以上命令安装。 利用aria2加速下载: 在使用scoop安装aria2后,scoop会自动调用aria2进行多线程下载以加速下载 scoop install aria2 scoop自带的main bucket软件过少,可以添加官方维护的extras bucket scoop bucket add extras 安装helm scoop install helm
第二种:地址https://github.com/helm/helm/blob/master/docs/install.md下载
三、 安装rancher
Helm在集群上安装tiller服务来管理chart部署。默认情况下docker-for-desktop启用了RBAC,因此需要用kubectl创建serviceaccount和clusterrolebinding,这样tiller才能部署到集群中。
- 在kube-system命名空间中创建ServiceAccount kubectl -n kube-system create serviceaccount tiller
- 创建ClusterRoleBinding让tiller账户能够访问集群 kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
- 使用helm初始化tiller服务 helm init --service-account tiller --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.14.1 --skip-refresh
- helm改源 helm repo remove stable helm repo add stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts helm repo update
- 添加Ingress Controller Ingress Controller用于提供从外部访问Kubernetes中运行的服务的L7 http路由。 “rancher”helm chart的默认选项是使用SSL传递回Rancher服务器pod上的自签名证书。所以需要在安装chart时添加controller.extraArgs.enable-ssl-passthrough=""选项。 helm install stable/nginx-ingress --name ingress-nginx --namespace ingress-ngixn --set controller.extraArgs.enable-ssl-passthrough=""
- 安装Rancher。 在默认安装下将使用Rancher内置的自签名SSL证书。你可以在这里看到该helm chart的所有选项: https://github.com/jgreat/helm-rancher-server 将rancher-server仓库添加到helm helm repo add rancher-server https://jgreat.github.io/helm-rancher-server/charts 安装rancher chart helm install rancher-server/rancher --name rancher --namespace rancher-system
