• 如何在本地使用Docker搭建和运行Kubernetes集群


    Alt

    🎈个人主页:程序员 小侯
    🎐CSDN新晋作者
    🎉欢迎 👍点赞✍评论⭐收藏
    ✨收录专栏:云计算
    ✨文章内容:
    🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗

    在本文中,我们将探讨如何在本地环境中使用Docker运行Kubernetes(通常称为K8s)集群。本地运行Kubernetes可以为开发、测试和学习提供便利,同时避免了与云提供商的互动。我们将分步骤介绍如何设置和运行本地Kubernetes集群,并穿插一些关键代码示例。

    1. 准备环境

    首先,确保您的系统上已经安装了Docker。如果您尚未安装Docker,可以根据您的操作系统下载并安装Docker Desktop(对于Windows和macOS用户)或Docker CE(对于Linux用户)。
    在这里插入图片描述

    2. 安装Minikube

    Minikube是一个用于在本地运行Kubernetes集群的工具。它是一个轻量级的Kubernetes发行版,适用于本地开发和测试。

    使用以下命令安装Minikube:

    curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
    chmod +x minikube
    sudo mv minikube /usr/local/bin/
    
    • 1
    • 2
    • 3

    3. 启动Minikube集群

    一旦安装了Minikube,您可以使用以下命令启动本地Kubernetes集群:

    minikube start
    
    • 1

    Minikube将在Docker中创建一个虚拟机,然后在该虚拟机中启动Kubernetes集群。

    4. 验证集群

    您可以运行以下命令来验证Minikube集群的状态:

    kubectl cluster-info
    
    • 1

    您应该看到类似以下内容的输出:

    Kubernetes control plane is running at https://192.168.49.2:8443
    KubeDNS is running at https://192.168.49.2:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
    
    • 1
    • 2

    这表明您的本地Kubernetes集群已成功启动。

    5. 部署一个示例应用

    让我们通过部署一个简单的示例应用程序来进一步了解如何在Minikube上运行Kubernetes。

    创建一个Deployment

    创建一个名为nginx-deployment.yaml的文件,并将以下内容添加到文件中:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-deployment
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx:latest
            ports:
            - containerPort: 80
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    此配置定义了一个名为nginx-deployment的Deployment,将运行两个Nginx容器。

    部署应用

    运行以下命令来部署Nginx应用程序:

    kubectl apply -f nginx-deployment.yaml
    
    • 1

    检查部署

    运行以下命令来检查Deployment的状态:

    kubectl get deployments
    
    • 1

    您应该看到nginx-deployment的副本数为2。

    6. 访问应用

    要访问部署的Nginx应用程序,您需要创建一个Service以公开应用程序。

    创建一个Service

    创建一个名为nginx-service.yaml的文件,并将以下内容添加到文件中:

    apiVersion: v1
    kind: Service
    metadata:
      name: nginx-service
    spec:
      selector:
        app: nginx
      ports:
        - protocol: TCP
          port: 80
          targetPort: 80
      type: NodePort
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    部署Service

    运行以下命令来部署Service:

    kubectl apply -f nginx-service.yaml
    
    • 1

    获取Service的访问地址

    运行以下命令来获取Service的访问地址:

    minikube service nginx-service --url
    
    • 1

    您将获得一个URL,可在浏览器中访问Nginx应用程序。

    7. 清理资源

    当您完成测试后,可以使用以下命令来清理Minikube集群和相关资源:

    minikube delete
    
    • 1

    这将删除Minikube虚拟机以及关联的Kubernetes集群。

    结论

    通过这个示例,您学会了如何在本地环境中使用Docker和Minikube运行Kubernetes集群,并部署了一个简单的Nginx应用程序。本地运行Kubernetes对于开发、测试和学习Kubernetes非常有用,可以帮助您更好地理解和熟悉Kubernetes的功能和操作。希望这篇文章能帮助您入门本地Kubernetes的使用。

    后记 👉👉💕💕美好的一天,到此结束,下次继续努力!欲知后续,请看下回分解,写作不易,感谢大家的支持!! 🌹🌹🌹

  • 相关阅读:
    js中进行数字,超大金额(千位符)格式化处理
    Flink从入门到放弃—Stream API—Join实现(即多流操作)
    FST工控软件平台解读
    Discuz开发之HTML转Discuz代码(bbcode)函数html2bbcode()
    百战RHCE(第四十一战:linux高级应用-重置root密码)
    关于项目管理的若干建议
    paddle 44 用onnxruntime实现ppyoloe模型的部署(含python和c++版本),支持batchsize
    【项目问题定位】近来几个数据库相关问题定位与知识点总结
    大学生简单个人静态HTML网页设计作品 DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
    记一次 OSS 大批量文件下载的实现 → bat脚本不好玩!
  • 原文地址:https://blog.csdn.net/weixin_65175398/article/details/132752879