Kubernetes 新手实战指南 - 单节点集群部署

本文通过一步步教程,引导读者使用Kubernetes部署和管理一个简单的Node.js应用,包括创建集群、构建Docker镜像、定义Deployment和Service。这为学习者提供了实践容器编排的基础经验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

Kubernetes 是一个开源容器编排系统,用于自动化容器管理、编排和扩展。对于初学者来说,了解 Kubernetes 的基础知识并将其应用于实际场景至关重要。本指南将通过一个实战项目,逐步指导您使用 Kubernetes 管理容器化应用程序。

先决条件

  • 基本的 Linux 命令知识
  • Docker 容器基础
  • Kubernetes 基本概念(例如 Pod、Deployment、Service)

实战项目概述

我们将构建一个简单的 Node.js Web 应用程序,并将其部署到 Kubernetes 集群中。该应用程序将显示一条欢迎消息。

步骤 1:创建 Kubernetes 集群

使用 Minikube 创建一个单节点 Kubernetes 集群:

minikube start

步骤 2:构建 Node.js 应用程序

创建一个名为 app 的目录并初始化一个 Node.js 项目:

mkdir app
cd app
npm init -y

添加以下代码到 app.js 文件:

const express = require('express');

const app = express();

app.get('/', (req, res) => {
  res.send('Hello from Kubernetes!');
});

app.listen(3000, () => {
  console.log('Server listening on port 3000');
});

步骤 3:创建 Docker 镜像

构建并推送 Docker 镜像到 Docker Hub:

docker build -t my-app .
docker push my-app

步骤 4:创建 Kubernetes Deployment

创建一个 Deployment 对象来管理应用程序 Pod:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: my-app
        image: my-app
        ports:
        - containerPort: 3000

使用 kubectl 应用 Deployment:

kubectl apply -f deployment.yaml

步骤 5:创建 Kubernetes Service

创建一个 Service 对象来公开应用程序:

apiVersion: v1
kind: Service
metadata:
  name: my-app
spec:
  selector:
    app: my-app
  ports:
  - port: 80
    targetPort: 3000

使用 kubectl 应用 Service:

kubectl apply -f service.yaml

步骤 6:访问应用程序

获取 Service 的外部 IP 地址:

kubectl get service my-app -o jsonpath='{.status.loadBalancer.ingress[0].ip}'

使用该 IP 地址在浏览器中访问应用程序:

http://<IP_ADDRESS>:80

结论

通过本实战指南,您已经成功将一个 Node.js 应用程序部署到 Kubernetes 集群中。您了解了如何创建 Docker 镜像、Kubernetes Deployment 和 Service。这些基础知识将为您在 Kubernetes 中管理更复杂的应用程序奠定坚实的基础。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慢跑的平头哥

你的鼓励是我创作的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值