Kubernetes简介
Kubernetes 是用来管理容器集群的,Master 作为管理者,包括 APIServer,Scheduler,Controller Manager。
Node作为副本部署的载体,包含多个 Pod,每个 Pod 又包含多个容器(container)。用户通过 kubectl 给 Master 中的 APIServer 下部署命令。
命令主体是以“.yaml”结尾的配置文件,包含副本的类型,副本个数,名称,端口,模版等信息。
APIServer 接受到请求以后,会分别进行以下操作:权限验证(包括特殊控制),取出需要创建的资源,保存副本信息到etcd。
APIServer 和 Controller Manager,Scheduler 以及 kubelet 之间通过 List-Watch 方式通信(事件发送与监听)。
Controller Manager 通过 etcd 获取需要创建资源的副本数,交由 Scheduler 进行策略分析。
最后 kubelet 负责最终的 Pod 创建和容器加载。部署好容器以后,通过 Service 进行访问,通过 cAdvisor 监控资源。
安装Kubernetes
先安装Docker_Desktop,用docker -v 看版本,
解决WSL2中Vmmem内存占用过大问题
1按下Windows + R 键,输入 %UserProfile%
并运行进入用户文件夹
2新建文件 .wslconfig
,然后记事本编辑
3 填入以下内容并保存, memory为系统内存上限,这里我限制最大2gb,可根据自身电脑配置设置
[wsl2]
memory=2GB
swap=0
localhostForwarding=true
4 然后启动cmd命令提示符,输入 wsl --shutdown
来关闭当前的子系统
我的显示是Docker version 20.10.8, build 3967b7d
Docker的Settings 显示 Kubernetes版本v1.21.4
参考https://github.com/AliyunContainerService/k8s-for-docker-desktop
“当前 master 分支已经在 Docker for Mac/Windows 4.1.0 (包含 Docker CE 20.10.8 和 Kubernetes 1.21.5) 版本测试通过
- 如果需要测试其他版本,请查看 Docker Desktop版本,Docker -> About Docker Desktop
- 如Kubernetes版本为 v1.21.4, 请使用下面命令切换 v1.21.4 分支
git checkout v1.21.4
- 如Kubernetes版本为 v1.21.3, 请使用下面命令切换 v1.21.3 分支
git checkout v1.21.3
- 如Kubernetes版本为 v1.21.2, 请使用下面命令切换 v1.21.2 分支
git checkout v1.21.2
- 如Kubernetes版本为 v1.21.1, 请使用下面命令切换 v1.21.1 分支
git checkout v1.21.1"
git checkout v1.21.4
- 如Kubernetes版本为 v1.21.4, 请使用下面命令切换 v1.21.4 分支
在Windows上,使用 PowerShell
.\load_images.ps1
说明:
- 如果因为安全策略无法执行 PowerShell 脚本,请在 “以管理员身份运行” 的 PowerShell 中执行
Set-ExecutionPolicy RemoteSigned
命令。 - 查看拉下的镜像,cmd -> 执行docker images命令
- 开启k8s