windows搭建k8s环境
安装docker-desktop
在界面中找到 /设置/Resources/Advanced/Disk image location,选择一个非C盘的目录
利用minikube安装
已经安装玩docker-desktop或者virtualbox
参考文档
1 下载文件
- 方式一:直接下载exe安装
- 方式二:利用如下命令直接下载安装
New-Item -Path 'c:\' -Name 'minikube' -ItemType Directory -Force
Invoke-WebRequest -OutFile 'd:\minikube\minikube.exe' -Uri 'https://github.com/kubernetes/minikube/releases/latest/download/minikube-windows-amd64.exe' -UseBasicParsing
d
2 配置环境变量
- 方式一:直接将minikubo.exe的位置添加到PATH
- 方式二: 执行如下命令
$oldPath = [Environment]::GetEnvironmentVariable('Path', [EnvironmentVariableTarget]::Machine)
if ($oldPath.Split(';') -inotcontains 'd:\minikube'){
[Environment]::SetEnvironmentVariable('Path', $('{0};C:\minikube' -f $oldPath), [EnvironmentVariableTarget]::Machine)
}
3 启动minikube
minikube start
命令说明
- vm-driver=docker
- image-mirror-country=cn : 指定中国
- image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers:指定用阿里云的镜像仓库
- iso-url=https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/iso/minikube-v1.7.3.iso : 这个是指定启动虚拟机要用>> 到的iso文件
- --registry-mirror=https://reg-mirror.qiniu.com:安装好之后给里面的docker加速的
输出
PS C:\Users\Administrator> minikube start
* Microsoft Windows 11 Pro 10.0.22631.3296 Build 22631.3296 上的 minikube v1.32.0
* 自动选择 docker 驱动。其他选项:hyperv, ssh
* 使用具有 root 权限的 Docker Desktop 驱动程序
* 正在集群 minikube 中启动控制平面节点 minikube
* 正在拉取基础镜像 ...
> index.docker.io/kicbase/sta...: 0 B [___________________] ?% ? p/s 500ms
> index.docker.io/kicbase/sta...: 0 B [___________________] ?% ? p/s 500ms
E0326 11:44:40.652176 1152 cache.go:189] Error downloading kic artifacts: failed to download kic base image or any fallback image
* Creating docker container (CPUs=2, Memory=4000MB) ...
* 正在 Docker 24.0.7 中准备 Kubernetes v1.28.3…
- 正在生成证书和密钥...
- 正在启动控制平面...
- 配置 RBAC 规则 ...
* 配置 bridge CNI (Container Networking Interface) ...
* 正在验证 Kubernetes 组件...
- 正在使用镜像 gcr.io/k8s-minikube/storage-provisioner:v5
* 启用插件: storage-provisioner, default-storageclass
* 完成!kubectl 现在已配置,默认使用"minikube"集群和"default"命名空间
打开控制台
minikube dashboard
尝试部署nginx
- 创建yaml文件
nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx # 这里使用镜像名,Kubernetes会尝试从本地Docker缓存中拉取
ports:
- containerPort: 80
nginx-service.yaml
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
ports:
- protocol: TCP
port: 80
targetPort: 80
nodePort: 30000 # 你可以选择一个可用的NodePort端口
type: NodePort
- 应用yaml文件
kubectl apply -f .
此时30000端口访问无效
3. 暴露端口
kubectrl port-forward service/nginx-service 30000:80
- 访问http://localhost:30000/
废弃方式
- 尝试通过docker-desktop的Enable Kubernetes安装,但是最后启动失败或者无法启动而告终
标签:...,k8s,https,windows,nginx,minikube,docker,20240326,com From: https://www.cnblogs.com/yanshanduyunxia/p/18363030参考文档