Kubernetes(K8S)快速入门

概述

在本门课程中,我们将会学习K8S一些非常重要和核心概念,已经操作这些核心概念对应组件的相关命令和方式。比如Deploy部署,Pod容器,调度器,Service服务,Node集群节点,Helm包管理器等等。

在学习本门课之前,同学应该具备一定的Linux、Docker、K8S的基础知识。

我目前已经发布的关于云原生的课程如下:

如果你没有Linux的基础知识,推荐你学习我的《零基础使用VMWare快速搭建Linux开发环境》,该课程的目录结构如下:

如果你还没有K8S的基础环境,推荐你学习我的《Ubuntu22和Minikube搭建K8S环境》,该课程的目录结构如下:

如果你还没有Docker和K8S的基础知识,推荐你学习我的《使用K8S部署Go语言开发的Web应用》,该课程的目录结构如下:

如果你都需要学习,那么我的推荐学习顺序是:

  • 1、《零基础使用VMWare快速搭建Linux开发环境》
  • 2、《Ubuntu22和Minikube搭建K8S环境》
  • 3、《使用K8S部署Go语言开发的Web应用》

要学习本门课程,至少需要拥有自己的K8S环境,否则,课程中相关的命令和操作,只能作为了解,而没有办法进行实操,学习的效果会稍微偏低。

本课程作为K8S的零基础体系课程之一,用来了解K8S的核心组件和核心概念,学习K8S的基础知识有非常重要的学习价值。

下面,就让我带着同学们一起去探索美妙的云原生世界吧!

部署清单

配置文件

部署清单指的是用来记录要部署的应用程序的一个YAML文件的配置信息,比如我们要部署的myhello的应用程序的部署清单如下:

yaml 复制代码
apiVersion: apps/v1
kind: Deployment
metadata:
  name: demo
  labels:
    app: demo
spec:
  replicas: 1
  selector:
    matchLabels:
      app: demo
  template:
    metadata:
      labels:
        app: demo
    spec:
      containers:
        - name: demo
          image: zhangdapeng520/myhello
          ports:
            - containerPort: 18888

根据配置文件部署

执行命令:

bash 复制代码
kubectl apply -f deploy.yaml

查看部署的容器:

bash 复制代码
kubectl get pods --selector app=demo

Deploy部署

在《使用K8S部署Go语言开发的Web应用》课程中,我们的容器镜像已经能够在K8S集群中运行并访问了,但是它究竟是怎么工作的呢?

kubectl run 命令会创建Deploy部署,也就是我们接下来要介绍的重要的Kubernetes资源。

监督与调度

Deploy部署会记录一些关于部署镜像的基本信息,包括:

  • 镜像的名称
  • 要运行的副本数量
  • 启动容器需要的其他信息

重新启动容器

Deploy部署有一个非常重要的功能,那就是重新启动容器。根据配置的副本数量,如果K8S集群中的容器多了,则停止一些,如果少了则增加一些,这个功能非常的灵活和强大。

查询部署

查询Deploye部署:

bash 复制代码
kubectl get deployments

查看详细信息:

bash 复制代码
kubectl describe deployements/demo
相关推荐
鹤落晴春8 小时前
【K8s】Pod调度、configMaps
云原生·容器·kubernetes
张忠琳8 小时前
【runc 1.4.2】(Part 2)runc 1.4.2 超深度分析 — CLI层:main.go、命令文件、runner、信号处理、TTY
云原生·kubernetes·runc
极客先躯9 小时前
高级java每日一道面试题-2026年02月02日-实战篇[Docker]-如何实现容器的持久化存储?
docker·容器·面试宝典·持久化·存储·韵味·java高级面试题
阿里云云原生10 小时前
AI 提效是“假象”还是“红利”?用 LoongSuite + SLS 构建组织级 AI 编码度量看板
云原生
极客先躯10 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
Java识堂11 小时前
如何对微服务进行拆分?
微服务·云原生·架构
某林21212 小时前
Isaac Sim 5.1.0 无头服务器部署与 RTX 显存段错误排障全记录
运维·服务器·docker·容器·isaac
m0_7381207213 小时前
Docker 环境下 Vulfocus 靶场搭建全流程(附镜像源问题解决方案)
运维·服务器·网络·安全·docker·容器
Plastic garden14 小时前
K8s知识(3) Pod亲和性,调度
云原生·容器·kubernetes