windows系统docker+k8s搭建rancher本地开发环境

1、k8s安装:

   参考:https://github.com/AliyunContainerService/k8s-for-docker-desktop;javascript

  1. 为 Docker daemon 配置镜像加速,使用中科大镜像加速地址 https://docker.mirrors.ustc.edu.cn
    在这里插入图片描述java

  2. 可选操做: 为 Kubernetes 配置 CPU 和 内存资源。
    在这里插入图片描述node

  3. 预先从阿里云Docker镜像服务下载 Kubernetes 所须要的镜像,地址:https://github.com/AliyunContainerService/k8s-for-docker-desktop 。nginx

  4. 使用 Bash shellgit

    ./load_images.sh

    或者
    使用 PowerShellgithub

    .\load_images.ps1

    说明: 若是由于安全策略没法执行 PowerShell 脚本,请在 “以管理员身份运行” 的 PowerShell 中执行 Set-ExecutionPolicy RemoteSigned 命令。web

  5. 开启 Kubernetes,并等待 Kubernetes 开始运行
    在这里插入图片描述docker

  6. 配置 Kubernetesshell

    kubectl config use-context docker-for-desktop
  7. 验证 Kubernetes 集群状态windows

    kubectl cluster-info
    kubectl get nodes

    在这里插入图片描述

2、heml安装

第一种方法(推荐)

  1. 安装配置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:\Users\scoop)文件夹,再执行以上命令安装。

    利用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下载
在这里插入图片描述

3、 安装rancher

Helm在集群上安装tiller服务来管理chart部署。默认状况下docker-for-desktop启用了RBAC,所以须要用kubectl建立serviceaccount和clusterrolebinding,这样tiller才能部署到集群中。

  1. 在kube-system命名空间中建立ServiceAccount

    kubectl -n kube-system create serviceaccount tiller
  2. 建立ClusterRoleBinding让tiller帐户可以访问集群

    kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
  3. 使用helm初始化tiller服务

    helm init --service-account tiller --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.14.1 --skip-refresh
  4. helm改源

    helm repo remove stable
    helm repo add stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
    helm repo update
  5. 添加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=""
  6. 安装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

    修改hosts(c:\windows\system32\drivers\etc\hosts),添加:127.0.0.1 rancher.localhost
    7.访问本地:https://rancher.localhost测试效果
      ps: 第一次访问界面忘截图了,上张成果图吧
    在这里插入图片描述