20240326 windows搭建k8s环境

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

  1. 创建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
  1. 应用yaml文件
kubectl apply -f .

此时30000端口访问无效
3. 暴露端口

kubectrl port-forward service/nginx-service 30000:80
  1. 访问http://localhost:30000/

废弃方式

  1. 尝试通过docker-desktop的Enable Kubernetes安装,但是最后启动失败或者无法启动而告终

参考文档

avatar

posted @   燕山督云侠  阅读(534)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示