购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2.3 通过定义资源文件部署应用程序

本节将通过YAML格式的资源文件部署应用程序。首先,创建一个名为“deploymentnginx-3.yaml”的资源文件,内容如下:

创建Deployment资源:

     [root@k8s-master ~]# kubectl create -f deployment-nginx-3.yaml

查看Deployment和Pod对象:

接下来,创建一个名为“service-nginx-3.yaml”的资源文件,内容如下:

创建Service资源:

     [root@k8s-master ~]# kubectl create -f service-nginx-3.yaml

查看Service对象:

在浏览器中访问“http://<节点IP地址>:32006”,你将看到Nginx欢迎页面。

小结:有多种方式可以在Kubernetes集群上部署应用程序,如下所示。

(1)Dashboard:通过图形界面进行应用程序的部署和管理,它支持一些常见资源的操作。Dashboard仅支持图形界面创建Deployment和Service资源。

(2)kubectl命令行:kubectl工具专用于管理Kubernetes集群,几乎支持所有资源类型的管理。在创建资源方面,kubectl命令行仅支持部分常见资源及有限的参数设置,适用于简单、快速的部署场景。

(3)定义资源文件:通过定义YAML格式的资源文件进行应用程序的部署和管理,支持所有资源类型的配置,适用于复杂的部署场景。

这些方式不是相互排斥的,可以根据具体情况和个人偏好进行结合使用。目前,定义资源文件方式应用最为广泛。由于在定义资源文件时涉及的字段较多,初次接触可能会感到一定的难度。其实,定义资源文件也是有一些技巧的,如下所示。

在官方文档(https://kubernetes.io/zh-cn/docs/home/)进行搜索。以资源类型(如deployment、service)作为关键字,在结果的文章中获取资源配置的示例代码,然后可以参考编写、复制或修改。

使用“kubectl create”命令结合“--dry-run=client -o yaml”参数导出相应的资源配置。该命令在没有实际应用的情况下执行模拟操作,并以YAML格式输出创建资源的配置,然后可以参考这些配置进行编写、复制或修改。以下是导出Deployment和Service资源配置的示例:

    kubectl create deployment web --image=nginx --replicas=3 --dry-run=client
 -o yaml > deployment-template.yaml
    kubectl create service nodeport web --tcp=80:80  --dry-run=client -o yaml >
 service-template.yaml

关于“--dry-run”参数,有以下3个取值。

(1)none:默认值,等同于不使用“--dry-run”,kubectl将正常执行。

(2)client:kubectl在本地客户端验证请求并返回验证结果,不在集群中实际执行。

(3)server:kubectl将请求发送到API Server,由API Server验证请求并返回验证结果,不在集群中实际执行。

在定义资源文件时,如果不了解某些字段的作用,你可以使用“kubectl explain”命令来获取资源的文档。例如查看Deployment资源的文档,示例如下: uAGdjAJyyafbrj8QgvRIDRqfLR4E8M5vZaYnYjPNgqbpwKE9e9uyuc3AGYdsA+WI

     # 查看顶级字段说明
     kubectl explain deployment
     # 查看资源规格下的字段说明
     kubectl explain deployment.spec
     # 查看Pod规格下的字段说明
     kubectl explain deployment.spec.template.spec
     # 查看Pod容器配置下的字段说明
     kubectl explain deployment.spec.template.spec.containers
点击中间区域
呼出菜单
上一章
目录
下一章
×