概述
在本门课程中,我们将会学习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的应用程序的部署清单如下:
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
根据配置文件部署
执行命令:
kubectl apply -f deploy.yaml
查看部署的容器:
kubectl get pods --selector app=demo
Deploy部署
在《使用K8S部署Go语言开发的Web应用》课程中,我们的容器镜像已经能够在K8S集群中运行并访问了,但是它究竟是怎么工作的呢?
kubectl run 命令会创建Deploy部署,也就是我们接下来要介绍的重要的Kubernetes资源。
监督与调度
Deploy部署会记录一些关于部署镜像的基本信息,包括:
- 镜像的名称
- 要运行的副本数量
- 启动容器需要的其他信息
重新启动容器
Deploy部署有一个非常重要的功能,那就是重新启动容器。根据配置的副本数量,如果K8S集群中的容器多了,则停止一些,如果少了则增加一些,这个功能非常的灵活和强大。
查询部署
查询Deploye部署:
kubectl get deployments
查看详细信息:
kubectl describe deployements/demo