问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Kubernetes 快速部署实操

创作时间:
作者:
@小白创作中心

Kubernetes 快速部署实操

引用
CSDN
1.
https://m.blog.csdn.net/m0_38141444/article/details/144318709

Kubernetes(简称 K8s)是一个开源的容器编排平台,旨在自动化应用程序的部署、扩展和管理。它支持多种容器运行时,提供高可用性、自动扩展、自动负载均衡、容器编排等功能。通过 Kubernetes,您可以轻松地在集群中管理容器化的应用程序。

本文将介绍如何快速部署 Kubernetes 集群以及如何在 Kubernetes 上部署一个简单的应用。

环境要求

在进行 Kubernetes 部署前,需要确保以下环境要求:

  1. 操作系统:Linux(Ubuntu、CentOS 等)、macOS 或 Windows
  2. 虚拟化:如果是在本地环境,可以使用如 VirtualBox 或 VMware 等虚拟机软件;或者在云环境中使用 Kubernetes 提供商(如 AWS、GCP 等)创建的实例。
  3. 硬件要求:最少两个节点(一个 Master 节点和一个 Worker 节点),推荐使用至少 2 核 CPU 和 2GB 内存的配置。

1. 使用 Minikube 快速搭建 Kubernetes 集群

对于开发和测试环境,Minikube是一个非常好的选择,它可以在本地机器上创建一个单节点的 Kubernetes 集群。

步骤 1:安装 Minikube 和 kubectl

安装 Minikube(以 Ubuntu 为例):

sudo apt-get update
sudo apt-get install -y apt-transport-https
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

安装 kubectl(Kubernetes 命令行工具):

curl -LO "https://dl.k8s.io/release/v1.24.0/bin/linux/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/

步骤 2:启动 Minikube 集群

执行以下命令启动 Minikube 集群:

minikube start

这会在本地启动一个单节点的 Kubernetes 集群。Minikube 会自动安装 Docker、Kubernetes 和 kubectl,并为你提供一个本地的集群环境。

步骤 3:验证集群状态

使用 kubectl 来验证 Kubernetes 集群的状态:

kubectl cluster-info

如果一切正常,你将看到类似于以下的输出,表示 Kubernetes 控制平面已正常运行:

Kubernetes master is running at https://127.0.0.1:8443

2. 创建并部署一个简单的应用(如 Nginx)

现在,我们可以开始在 Kubernetes 集群中部署一个简单的 Web 应用(例如 Nginx)。

步骤 1:创建 Deployment

在 Kubernetes 中,Deployment是用于管理应用程序副本集和更新的控制器。我们可以通过 Deployment 定义容器的创建和管理。

创建一个 nginx-deployment.yaml 文件,定义一个包含 Nginx 容器的 Deployment:

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

这个配置文件定义了一个名为 nginx-deployment 的 Deployment,它将启动 2 个 Nginx 容器副本。

步骤 2:部署 Nginx

使用以下命令将部署应用到 Kubernetes 集群:

kubectl apply -f nginx-deployment.yaml

部署完成后,执行以下命令来查看创建的 Pod 和 Deployment:

kubectl get pods
kubectl get deployments

输出将显示你的 Nginx Pod 和 Deployment 的状态:

NAME                                READY   STATUS    RESTARTS   AGE
nginx-deployment-5bb5bb5b9f-x9jw4   1/1     Running   0          30s
nginx-deployment-5bb5bb5b9f-lklns   1/1     Running   0          30s

步骤 3:暴露 Nginx 服务

为了访问 Nginx 服务,我们需要创建一个 KubernetesService,它将允许外部请求访问部署在集群中的应用。

创建一个 nginx-service.yaml 文件:

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx
  ports:
- protocol: TCP
      port: 80
      targetPort: 80
  type: LoadBalancer  # 使用 LoadBalancer 类型,使其能够暴露给外部

然后应用服务配置:

kubectl apply -f nginx-service.yaml

验证服务是否创建成功:

kubectl get svc

如果你的 Kubernetes 集群支持负载均衡(如在云环境中),nginx-service 会自动获得一个外部 IP 地址。如果是在本地环境中,你可以使用 Minikube 的服务命令:

minikube service nginx-service

这将启动一个代理,并打开默认的浏览器访问暴露的 Nginx 服务。

3. 使用 Helm 快速部署应用

Helm 是 Kubernetes 的包管理工具,它简化了应用程序的部署和管理。可以用 Helm 安装现成的应用(如数据库、Web 应用等),而无需手动编写 Kubernetes YAML 配置文件。

步骤 1:安装 Helm

使用以下命令在本地安装 Helm:

curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

验证 Helm 是否安装成功:

helm version

步骤 2:安装 Nginx 使用 Helm

你可以通过 Helm 安装 Nginx:

helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
helm install my-nginx bitnami/nginx

这将自动从 Bitnami Helm 仓库安装 Nginx 应用。

步骤 3:验证 Helm 安装

执行以下命令,查看已安装的 Nginx 服务:

kubectl get svc

然后使用 kubectlminikube service 来访问该服务。

4. 清理资源

在完成应用部署后,如果你想要删除部署的资源,可以使用以下命令:

  • 删除 Nginx 部署:
kubectl delete deployment nginx-deployment
  • 删除服务:
kubectl delete service nginx-service
  • 删除 Helm 安装的应用:
helm uninstall my-nginx

总结

通过上面的操作,你已经成功地在 Kubernetes 上部署了一个简单的 Nginx 应用。这里总结了几个关键步骤:

  1. Minikube:快速在本地搭建 Kubernetes 集群,适用于开发和测试环境。
  2. Deployment:在 Kubernetes 上创建一个 Deployment 以管理容器副本。
  3. Service:通过创建 Service,暴露应用到外部网络。
  4. Helm:使用 Helm 包管理器来简化应用的部署和管理。
  5. 清理资源:部署完成后,可以删除集群中的相关资源。

这些操作为你提供了一个简单的入门方法,通过它你可以快速开始使用 Kubernetes 部署和管理应用。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号