本章节所有代码已上传至:https://github.com/Seanwong933/.NET-Core-on-Kubernetes
文末附有本人遇到过的 Docker 和 k8s 的故障排除。
本文目标:带领大家在 Kubernetes 上部署一个 .NET Core Api 的单节点集群。
后续文章会帮助大家继续深入。
安装 Kubernetes
以下所有命令都要在管理员模式下执行。
1. 下载安装最新版 Docker for Windows
https://hub.docker.com/editions/community/docker-ce-desktop-windows
然后跑一下docker ps
看安装成功没有,没有就重启一下你的命令行工具或电脑,环境变量没起作用。
2. 设置国内镜像 https://registry.docker-cn.com
3. 下载 docker 镜像并加载
这一步是为了把 Kubernetes 所需要的依赖镜像先下载到本地,相当于一个加速服务,不过根据我的个人经验,如果你不用这个加速的话基本没可能下得下来,即使你有代理。
git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git
cd k8s-for-docker-desktop
.\load_images.ps1
4. 打开 docker 开启 Kubernetes,等待安装完成
5. 在 Powershell 中安装 kubectl
kubectl 简单来说,就是一个操作 Kubernetes 的工具。
Install-Script -Name install-kubectl -Scope CurrentUser -Force
然后在类似这样的位置中 E:\文档\WindowsPowerShell\Scripts 找到脚本并执行
install-kubectl.ps1
可能会报错,不管,不影响使用。
或通过 Chocolatey 来安装(推荐)
Chocolatey 是一个包管理器,没有的同学自己装一下。
choco install kubernetes-cli
kubectl version
如果说找不到,就跑一下choco search kubernetes-cli
和choco list kubernetes-cli
,有时候会抽风。
进入你的用户目录:cd C:\users\yourusername
创建.kube目录:mkdir .kube
进入:cd .kube
添加配置文件:New-Item config -type file
此时可以跑一下kubectl get nodes
、kubectl get services
检查安装效果
三大组件:POD & Service & Deployment
在正式开始之前,先粗略一下里面关键组件,如果你看完还是啥也不明白,可以配合这篇文章一起阅读:十分钟带你理解Kubernetes核心概念
Pod
Kubernetes 中的最小单元,一个 Pod 里面可以放很多个应用,支持多容器在一个 Pod 中通过进程进行通信
Service 服务
Pod 的对外入口,需要这个才能在外部访问 Pod
Deployment 部署
表示用户对 Kubernetes 的一次更新操作,通过部署模板将 Pod 跟 Service 绑定
粗暴理解,用 Deployment 可以部署 Pod&#x