将WSL2作为生产力工具(3)

待所有镜像下载完成之后,我们在使用 docker images 可以看到下载的容器

REPOSITORY TAG IMAGE ID CREATED SIZE k8s.gcr.io/kube-apiserver v1.15.5 e534b1952a0d 2 months ago 207MB k8s.gcr.io/kube-proxy v1.15.5 cbd7f21fec99 2 months ago 82.4MB k8s.gcr.io/kube-controller-manager v1.15.5 1399a72fa1a9 2 months ago 159MB k8s.gcr.io/kube-scheduler v1.15.5 fab2dded59dd 2 months ago 81.1MB quay.io/kubernetes-ingress-controller/nginx-ingress-controller 0.26.1 29024c9c6e70 2 months ago 483MB docker/kube-compose-controller v0.4.23 a8c3d87a58e7 6 months ago 35.3MB docker/kube-compose-api-server v0.4.23 f3591b2cb223 6 months ago 49.9MB k8s.gcr.io/coredns 1.3.1 eb516548c180 11 months ago 40.3MB k8s.gcr.io/kubernetes-dashboard-amd64 v1.10.1 f9aed6605b81 12 months ago 122MB k8s.gcr.io/etcd 3.3.10 2c4adeb21b4f 12 months ago 258MB k8s.gcr.io/pause 3.1 da86e6ba6ca1 24 months ago 742kB 启用 Kubernetes

我们在 Docker Desktop 的设置中选择启用 kubernetes ,然后点击 Apply & Restart 重启。

启用 Kubernetes

如果运气好的话,当你重启之后你就会发现 Desktop 左下脚 Docker 和 Kubernetes 的状态都变成了绿色的 runnning ,但是很有可能你重启之后, kubernetes 的状态一直是黄色的 starting 。出现这种情况不要着急,我们可以在 C:\ProgramData\DockerDesktop下的 service.txt 查看启动的日志信息,一般情况下,启动不成功,出现最多的日志信息为下面的重复内容

[08:57:24.359][ApiProxy ][Info ] time="2019-12-20T08:57:24+08:00" msg="cannot list nodes: Get https://kubernetes.docker.internal:6443/api/v1/nodes: EOF" [08:57:24.359][GoBackendProcess ][Info ] time="2019-12-20T08:57:24+08:00" msg="external: POST /events 200 \"Go-http-client/1.1\" \"\""

出现这种情况,可以参考 和 ,其实总结下来就是下面的几个操作:

修改 host 文件,将 127.0.0.1 kubernetes.docker.internal 映射信息添加到 host 文件中

修改网络连接的 DNS 地址为 8.8.8.8 , win 下如何修改网络连接的 DNS 可以自行百度

删除 C:\ProgramData\DockerDesktop 目录下的 pki 目录文件

删除 C:\Users\<yourname>目录下 的.kube 目录文件

关闭 win 的网络防火墙,或者将 vpnkit.exe 添加到防火墙出入站规则中。

在 Desktop 中点击进入 troubleshoot ,点击重置 kubernetes 集群(Reset Kubernetes cluster)

重置 kubernetes 集群

如果上述操作一次下来还是不成功,建议重复操作几次。如果出现了其他的问题,一般到 docker\for-win 项目的 issue下可以找到解决方法。如果启动成功了,我们在命令行下执行下面的命令可以验证

$ kubectl cluster-info Kubernetes master is running at https://kubernetes.docker.internal:6443 KubeDNS is running at https://kubernetes.docker.internal:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. $ kubectl get nodes NAME STATUS ROLES AGE VERSION docker-desktop Ready master 6h v1.15.5 部署 Kubernetes dashboard

Kubernetes dashboard是 Kubernetes集群的基于 Web的通用 UI。它允许用户管理集群中运行的应用程序并对其进行故障排除,以及管理集群本身。执行下面命命令即可部署

# 新建 dashboard 资源 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml # (*)如果上面命令执行说网络连接有问题,把 yaml 文件下载到本地,然后执行 kubectl apply -f kubernetes-dashboard.yaml # 开启 API Server 访问代理 kubectl proxy

部署完成之后,我们通过如下 URL 即可访问 Kubernetes dashboard

进入 Dashboard 需要令牌,可以通过以下命令获取令牌,将生成的令牌复制粘贴到令牌登录输入框即可。

kubectl -n kube-system describe secret default| awk '$1=="token:"{print $2}' 下载安装 Helm

HelmDeis 开发的一个用于 kubernetes 的包管理器。每个包称为一个 Chart , Helm 客户端安装十分简单,我们可以到 Github下载最新的可执行程序,解压出来就可以使用了,具体操作步骤可如下:

# 下载 v2.16.1 版本 wget https://get.helm.sh/helm-v2.16.1-linux-amd64.tar.gz # 解压 tar -zxvf helm-v2.16.1-linux-amd64.tar.gz cd linux-amd64/ # 移动到 /usr/local/bin 目录下 cp helm /usr/local/bin/

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/11601.html