K8S本地开发环境-minikube安装部署及实践

2024-01-02 11:08:53

引言

?在上一篇介绍了k8s的入门和实战,本章就来介绍一下在windows环境如何使用minikube搭建K8s集群,好了废话不多说,下面就和我一起了解Minikube吧。

什么是Minikube?

Minikube 是一种轻量级的 Kubernetes 实现,可在本地计算机上创建 VM 并部署仅包含一个节点的简单集群。 Minikube 可用于 Linux , macOS 和 Windows 系统。Minikube CLI 提供了用于引导集群工作的多种操作,包括启动、停止、查看状态和删除。

Minikube一般用于本地开发、测试和学习

?官网:https://minikube.sigs.k8s.io/docs/

Minikube 安装

?注意:在windows环境下如果想要使用Minikube,需要先安装Docker Desktop,安装参考这篇:windows10/11安装和使用docker-CSDN博客

配置要求

安装步骤

安装步骤就不在这里赘述了,请按照官方文档minikube start | minikube进行操作,里面有windows和Linux的安装方式,大家可以根据自己的环境选择来安装,我这里用的是win11。

Minikube 实战

?注意:在windows环境下如果想要使用Minikube,需要先安装docker,docker安装参考这篇:windows10/11安装和使用docker-CSDN博客

启动 Minikube

以管理员方式运行PowerShell,执行命令启动 Minikube:

minikube start

下载初始化过程可能会比较慢,请耐心等待?

执行命令后等待docker拉取镜像,最终成功页面显示如下?如果发现启不来,报错如下,这是因为拉取不到合适的k8s镜像

?参考这篇:K8S 部署 SpringBoot 项目(一篇够用)_k8s部署springboot-CSDN博客

验证集群状态

等待 Minikube 启动完成后,执行以下命令验证集群状态:

kubectl cluster-info
kubectl get nodes

会看到如下输出

使用 Kubectl?

现在可以使用 kubectl 命令行工具管理 Minikube 上的 Kubernetes 集群。

kubectl get pods --all-namespaces

开启控制台

minikube dashboard

启动成功会自动打开浏览器进入k8s控制面板,可以看到部署的信息?

执行命令查看所有Pod

kubectl get pods -ALL

部署nginx示例

创建一个nignx-deployment.yml

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-container
        image: nginx:latest
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  type: NodePort # 这里可以根据需求选择其他Service类型
  selector:
    app: nginx
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
      nodePort: 30208

然后在文件目录打开CMD命令窗口执行

kubectl apply -f .

在执行kubectl get pods -A 查看nginx的部署情况?

也可以在dashboard查看

?然后执行下面命令,就可以再浏览器访问nginx了

minikube  service  nginx-service

?

至此,在windows上搭建k8s集群就完成,小伙伴们可以在本地进行开发和部署测试了,如果搭建过程中有遇到什么问题,也欢迎在评论区或者私信交流。

文章来源:https://blog.csdn.net/EverythingAtOnce/article/details/135210192
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。