K8s入门教程(一)

发布于:2025-05-22 ⋅ 阅读:(18) ⋅ 点赞:(0)

Kubernetes(K8s)入门教程:从零开始掌握容器编排

目录

Kubernetes(K8s)入门教程:从零开始掌握容器编排

1. Kubernetes 简介

1.1 什么是 Kubernetes?

1.2 核心功能

2. 环境搭建与 Minikube 安装

2.1 安装 Minikube

安装步骤(以 macOS 为例):

安装 kubectl(Kubernetes 命令行工具)

3. 核心概念详解

3.1 Pod

示例:创建一个 Pod

3.2 Deployment

示例:创建一个 Deployment

3.3 Service

示例:创建一个 ClusterIP Service

3.4 Node 与 Master

4. 基本操作与命令

4.1 查看集群信息

4.2 日常调试命令

5. 实战案例:部署一个 Nginx 应用

5.1 创建 Deployment 和 Service

配置文件(nginx.yaml):

5.2 访问 Nginx 应用

6. 高级特性:滚动更新与自动伸缩

6.1 滚动更新

示例:更新 Nginx 版本

回滚到旧版本

6.2 自动伸缩(HPA)

示例:配置 HPA

7. 常见问题与解决方案

7.1 Pod 无法启动

7.2 Service 无法访问

7.3 Minikube 集群卡在 Starting

8. 总结

1. Kubernetes 简介

1.1 什么是 Kubernetes?

Kubernetes(简称 K8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。它由 Google 开发,并于 2014 年捐赠给 Cloud Native Computing Foundation(CNCF)。Kubernetes 的核心目标是简化容器化应用的运维复杂性,提供弹性、高可用性和可扩展性。

1.2 核心功能

  • 自动化部署与回滚:支持滚动更新和版本回退。
  • 弹性伸缩:根据负载动态调整 Pod 数量。
  • 自我修复:自动重启失败的容器,替换异常节点。
  • 服务发现与负载均衡:通过 DNS 或 IP 地址暴露服务。
  • 存储管理:支持多种存储类型(本地存储、云存储等)。

2. 环境搭建与 Minikube 安装

2.1 安装 Minikube

Minikube 是一个轻量级工具,用于在本地快速启动单节点 Kubernetes 集群,适合开发和测试。

安装步骤(以 macOS 为例):
# 安装 Homebrew(如果尚未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 安装 Minikube
brew install minikube

# 启动 Minikube 集群(默认使用 Docker 作为容器运行时)
minikube start

# 验证集群状态
kubectl cluster-info
安装 kubectl(Kubernetes 命令行工具)
# 下载并安装 kubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
chmod +x kubectl
sudo mv kubectl /usr/local/bin/

3. 核心概念详解

3.1 Pod

Pod 是 Kubernetes 中最小的部署单元,包含一个或多个共享资源的容器。例如,一个 Web 应用和其日志收集器可以运行在同一个 Pod 中。

示例:创建一个 Pod
apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
spec:
  containers:
  - name: nginx
    image: nginx:latest
    ports:
    - containerPort: 80

部署命令

kubectl apply -f nginx-pod.yaml
kubectl get pods

3.2 Deployment

Deployment 用于管理 Pod 的副本数量和更新策略,支持滚动更新和回滚。

示例:创建一个 Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deplo

网站公告

今日签到

点亮在社区的每一天
去签到