JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

YAML配置文件管理资源 yaml文件是干嘛的

wys521 2024-10-13 08:15:44 精选教程 19 ℃ 0 评论

YAML是配置文件的格式,YAML文件中是由一些易读的字段和指令组成的。K8S使用YAML配置文件需要注意如下事项。

定义配置时,指定最新稳定版API(当前最新稳定版是v1版本)。最新版本的API可以通过kubectl api-versions命令进行查看,命令如下所示。前面创建kubernetes-dashboard时的yaml文件中指定的就是最新版本的API接口版本。

  1. 配置文件应该存储在集群之外的版本控制仓库中。如果需要,可以快速回滚配置、重新创建和恢复。
  2. 应该使用YAML格式编写配置文件,而不是使用JSON格式编写。尽管YAML和JSON格式都可以使用,但YAML格式的文件对用户更加友好。
  3. 可以将相关对象组合成单个文件,通过会更容易管理。部署UI时我给大家提供了三个yaml文件,而这三个yaml文件是我通过一个文件进行拆分后生成的。
  4. 不要指定没必要的默认值,简单和最小配置可以减少错误的发生。
  5. 在注释中说明一个对象的描述可以方便后期的管理与维护。

在前面的章节中给大家演示部署K8S-UI时使用到了yaml文件,但是yaml文件中的语法格式的作用没有和大家进行详细的讲解说明,下面我会用nginx-deployment的yaml文件来作为讲解,讲解文字说明如图1所示。

创建完nginx-deployment.yaml文件后可通过kubectl create -f命令指定yaml配置文件去创建资源,命令如下所示。

[root@master ~]# kubectl create -f nginx-deployment.yaml 
deployment "nginx-deployment" created
[root@master ~]# kubectl get all
[root@master ~]# kubectl describe deploy nginx-deployment

创建service.yaml文件,nginx-service.yaml文件内容如下所示。

[root@master ~]# vim nginx-service.yaml
apiVersion: v1
kind: Service
metadata:
 name: nginx-service
 labels:
 app: nginx
spec:
 ports:
 - port: 88 # 集群IP88端口
 targetPort: 80 # 容器IP80端口
 selector:
 app: nginx

发布nginx-service服务,通过kubectl describe svc指定nginx-service可查看IP地址,命令如下所示。

[root@master ~]# kubectl create -f nginx-service.yaml 
service "nginx-service" created
[root@master ~]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.10.10.1 <none> 443/TCP 4h
nginx-service ClusterIP 10.10.10.221 <none> 88/TCP 1m
[root@master ~]# kubectl describe svc nginx-service

通过curl命令指定发布的IP地址可查看Nginx的访问页面和Nginx版本信息,命令如下所示。

[root@node-2 ~]# curl -I 10.10.10.221:88
HTTP/1.1 200 OK
Server: nginx/1.10.3
Date: Fri, 02 Mar 2018 15:58:57 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 31 Jan 2017 15:01:11 GMT
Connection: keep-alive
ETag: "5890a6b7-264"
Accept-Ranges: bytes

同样可以通过日志查看刚才具体传送的请求信息,命令如下所示。

[root@master ~]# kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx-f95d765f9-4298m 1/1 Running 0 14m
nginx-f95d765f9-b8d7g 1/1 Running 0 14m
nginx-f95d765f9-qpx4l 1/1 Running 0 14m
[root@master ~]# kubectl logs nginx-f95d765f9-qpx4l
192.168.10.6 - - [21/Apr/2018:13:34:02 +0000] "GET / HTTP/1.1" 200 612 "-" "ELinks/0.12pre6 (textmode; Linux; 113x28-2)" "-"
192.168.10.6 - - [21/Apr/2018:13:41:57 +0000] "HEAD / HTTP/1.1" 200 0 "-" "curl/7.29.0" "-"

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表