使用Kubectl部署应用

Posted gdsfg112

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Kubectl部署应用相关的知识,希望对你有一定的参考价值。

 

目录2477203708

使用Kubectl部署应用 

  • Kubectl部署流程 

  • 部署一个简单的Demo网站 

 


 

一旦运行了Kubernetes集群,就可以在其上部署容器化应用程序。因此在开始之前,我们需要先确保集群已经准备就绪,无论是使用Minikube还是kubeadm创建的集群。

接下来,我们讲述使用Deployment(部署)对象来部署一个简单网站。

 

Kubectl部署流程

使用Kubectl的部署流程如下所示:

 

接下来我们根据这个流程部署一个简单的Demo网站。

 

部署一个简单的Demo网站

这里,我们可以通过创建Kubernetes Deployment对象来运行应用程序。那么我们需要编写一个YAML文件来定义Deployment对象。

 

1.编写Deployment对象的配置文件

在开始之前,我们需要对Deployment对象的配置有初步的了解。官方介绍文档如下所示:

https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.15/#deployment-v1-apps

根据官方标准,我们定义了一个简单的Deployment配置:

apiVersion: apps/v1 #API对象版本,可通过“kubectl api-versions”命令查看

kind: Deployment #资源类型,区分大小写,可通过“kubectl api-resources”命令查看,这里使用Deployment对象

metadata: #标准的元数据

 name: demo-deployment  #当前Deployment对象名称,同一个命名空间下必须唯一

spec: #部署规范(目标),Deployment控制器会根据此模板调整当前Pod到最终的期望状态

技术图片
replicas: 5  # Pod数量,这里指运行5个Pod
  selector: #选择器,其定义了Deployment控制器如何找到要管理的Pod
    matchLabels:  #匹配标签
      app: demo   #待匹配的标签键值对
  template:   # Pod模板定义
    metadata: #标准的元数据
      labels: #Pod标签
        app: demo #定义Pod标签,由键值对组成
    spec: #Pod规范
      containers: #容器列表,Pod中至少有一个容器
      - name: demo  #容器名称
        image: microsoft/dotnet-samples:aspnetapp #镜像地址
        ports:  #端口列表
        - containerPort: 80 #设置容器端口
技术图片

如上面定义所示,我们定义了一个简单的部署示例,它将使用创建一个ReplicaSet对象以利用复制控制器创建5个Pod来运行“dotnet-samples”。

 

2.使用“kubectl create”执行资源创建

YAML文件准备好了,接下来我们来执行创建

技术图片技术图片技术图片技术图片技术图片技术图片技术图片技术图片技术图片技术图片技术图片

以上是关于使用Kubectl部署应用的主要内容,如果未能解决你的问题,请参考以下文章

实战 Kubectl 创建 Deployment 部署应用

Python 脚本部署和发布 Django 应用程序的示例代码及注释

kubectl介绍及使用

云原生|K8s系列第3篇:实战Kubectl创建Deployment部署应用

附001.kubectl介绍及使用

如何让 kubernetes “kubectl apply”不更新现有部署