开启和安装Kubernetes 基于Docker For Windows
0、最近发现,Docker For Windows Stable在Enable Kubernetes这个问题上是有Bug的,建议切换到Edge版本,并且采用下文AliyunContainerService来解决中国区网络问题。
Docker Desktop for Windows Edge Release
1、为Docker For Windows配置加速镜像服务。
{
"registry-mirrors": [
"https://registry.docker-cn.com"
],
"insecure-registries": [],
"debug": true,
"experimental": false
}
2、为了更快的完成一些安装,我们先通过一个阿里云的批处理,提前把Kubernetes需要的Images拉取下来。
git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git
cd k8s-for-docker-desktop
.\load_images.ps1
docker images
3、如果你已经安装好Docker For Windows,切换Settings到Kubernetes,勾选开启项进行安装。
4、关键概念
Pod
Kubernetes 中的最小单元,一个 Pod 里面可以放很多个应用,支持多容器在一个 Pod 中通过进程进行通信
Service 服务
Pod 的对外入口,需要这个才能在外部访问 Pod
Deployment 部署
表示用户对 Kubernetes 的一次更新操作,通过部署模板将 Pod 跟 Service 绑定
粗暴理解,用Deployment可以部署Pod,然后通过Service来暴露对Pod的访问。
Service的三种类型
ClusterIP
一个集群内部服务,默认情况外部无法访问,需要通过 kubectl 的代理命令转发访问。
NodePort
在所有节点上开放一个特定端口,将该端口的流量转发到对应的服务,是开发时经常使用的暴露 Pod 的方法,没有代理那么麻烦。
LoadBalancer
Kubernetes 的负载均衡,需要把你的负载均衡器(你集群的负载均衡器或云服务商的)与它关联起来,就可以帮你转发流量了。
5、获取所有的上下文。
kubectl config get-contexts
6、指定当前的上下文。
kubectl config use-context docker-for-desktop
PS: docker-ce 18.09 下 context 为 docker-desktop
7、验证集群状态
kubectl cluster-info
kubectl get nodes
8、安装Kubernetes Dashboard
方式一:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
方式二(从之前的k8s-for-docker-desktop进入PS):
kubectl create -f kubernetes-dashboard.yaml
9、开启API Server访问代理
kubectl proxy
10、打开浏览器访问Kubernetes Dashboard
http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/overview?namespace=default
11、打开C:\Users\UserName.kube中的Config文件,找到其中的Token,从令牌进入即可。
12、正式进入试图面板。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库