win10部署Kubernetes(k8s) (2)

417 阅读3分钟

本文已参与「新人创作礼」活动.一起开启掘金创作之路。

接上篇文章 juejin.cn/post/710668…

克隆下来的代码

 

image.png  

image.png

Powershell 执行 load_images.ps1,这个文件是批处理文件,会去杭州阿里云的网站上拉取Kubernetes所需要的镜像,这样要比直接去国外拉取,快很多。

 

使用docker images 命令查看拉取的Kubernetes依赖的镜像

 

 

查看从阿里云拉取的k8s

image.png 7、设置启动Kubernetes,然后点击应用

image.png 启动后的效果,设置里Kubernetes处于running状态

image.png

我们使用命令查看Kubernetes集群信息 kubectl cluster-info

image.png  

查看健康状态:  kubectl get cs

image.png

我们目前是健康的 获取命名空间 kubectl get ns

  image.png

附:kubernetes常用命令

1、查看类命令

kubectl cluster-info ----查看集群信息

kubectl -s http://localhost:8080 get componentstatuses ----查看各组件信息

kubectl get pods ----列出当前所有的pod

kubectl get pods -o wide ----查看pods所在的运行节点

kubectl get pods -o yaml ----查看pods定义的详细信息

kubectl get rc ----查看Replication Controller信息

kubectl get service ----查看service的信息

kubectl get nodes ----查看节点信息

kubectl get pod --selector name=redis ----按selector名来查找pod

kubectl exec pod名 env ----查看运行的pod的环境变量

2、操作类命令

kubectl create -f 文件名 ----创建

删除:

kubectl delete -f 文件名

kubectl delete pod pod名

kubectl delete rc rc名

kubectl delete service service名

kubectl delete pod --all

kubectl run mybusybox --image=busybox ----启动一个pod

kubectl run mybusybox --image=busybox --replicas=5 ----启动多个pod

kubectl delete deployments mybusybox ----删除创建的pod

kubectl get pods ----列出当前所有的pod

kubectl describe pod [PODNAME] ----查看pod的状态

kubectl run mynginx --image=nginx --port=80 --hostport=8000 ----创建带有端口映射的pod

kubectl run -i --tty busybox --image=busybox ----创建带有终端的pod

 

当然,通过命令的方式Kubernetes给我们提供更直观的Dashboard,我们可以安装Dashboard,更加直观的去展示和管理集群

 

8、安装Kubernetes的Dashboard

管理员身份在PowerShell里执行

远程在线安装命令:

 

kubectl apply -f raw.githubusercontent.com/kubernetes/…

 

9、Kubernetes的Dashboard测试

管理员身份在PowerShell里执行

开启 API Server 访问代理,只有开启代理才能在浏览器里访问

kubectl proxy

image.png

通过如下 URL 访问 Kubernetes dashboard

localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/node?namespace=default

 

首次登陆的时候,需要输入令牌

image.png

** **

配置控制台访问令牌

对于Mac环境

TOKEN=(kubectlnkubesystemdescribesecretdefaultawk(kubectl -n kube-system describe secret default| awk '1=="token:"{print $2}')

kubectl config

set-credentials docker-for-desktop --token="${TOKEN}" 

echo $TOKEN

 

对于Windows环境

$TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1]

kubectl config set-credentials docker-for-desktop --token="${TOKEN}"

echo $TOKEN

我们直接在Powershell里执行第二段命令

image.png

我们拿到的token令牌就是:

eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLTZudzluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI4MDU5NmMzYy03MzFlLTRhZTctYmI2Mi04NTYwNGY4M2U4YWEiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.Wm54-c2Qd71hrorVNbuA8p79FJvBsqn0Ufm6kS8zBsMeKC3PbeD9bBqJcqNdkOle6TvtZ0IsNwBoqSq9s2g13EZY6OR2dtmcX6U5uz3a4Woo3PmA8phoiGhYl4ApCsLWTysSGczHxpmv_6IXHxaDeFPOCG0xZbF7M-9XeycQfeZwP4DaoGrZbpmCepmP2Ks1KYKUKzYkkkIw_NrOmUkaZVwv_nvrZhtgkwJFn76U3y1Epyypu_QT64To7RiVVUHUfDbI9_Qli8eKryw-X8YNENVrGmFxOOyaw1P98tugBKM6pXm7g_Dr71XEc6Ap8EtAYYsN6kRK1k1ALN0YNQXw

 

我们输入令牌就能进入Kubernetes

上截图:

image.png

点开这个节点,能清晰的看到这个节点的详细信息(操作系统,架构,镜像,容器)

拖动滚动条,可以看到分配的CPU,内存及Pod情况

 

image.png

image.png

image.png 可以查看namesapace和设置集群名称和自动刷新间隔

image.png

好了,window 10 基于好Docker Desktop搭建了一个单节点的Kubernetes环境就就已经完成了。生产环境建议采用linux,多个节点

当然作为开发测试来讲,可以满足一般的开发测试需求,更多关于k8s的操作,可以参考官方文档。这一次分享就到这里啦!