欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

.net core i上 K8S(三)Yaml文件运行.netcore程序

程序员文章站 2022-04-03 14:27:34
上一章我们通过kubectl run简单运行了一个.netcore网站,但实际的开发中,我们都是通过yaml来实现的。 1.编写yaml文件 关于yaml文件的格式在此就不多描述了,不熟悉的可以去网上搜一下示例。 2.运行yaml 我们可以查看创建出来的资源 我们可以查看一下我们指定的label 我 ......

我们通过kubectl run简单运行了一个.netcore网站,但实际的开发中,我们都是通过yaml来实现的。

1.编写yaml文件

关于yaml文件的格式在此就不多描述了,不熟悉的可以去网上搜一下示例。

apiversion: apps/v1beta2    #指定版本,支持的版本可以通过kubectl api-versions查询
kind: deployment          #指定类型,这一次我们要创建一个deployment
metadata:              #元数据
  name: cys-netcore        #delpoyment的名称,必须在deployment中保持唯一
spec:                #deployment的详细内容
  replicas: 1            #副本数量
  selector:            #选择器,选择label中的app=cys-netcore的
    matchlabels:
      app: cys-netcore
  template:            
    metadata:
      labels:        
        app: cys-netcore    #指定一个label名为app,值为cys-netcore,对应上面的selector
    spec:
      containers:
      - name: cys-netcore    #容器名
        image: chenyishi/webdocker_s_provider  #镜像
        ports:
        - containerport: 1000    #暴漏的端口
        env:            #环境变量
        - name: serverport
          value: "1000"

2.运行yaml

kubectl create -f netcore.yaml 

我们可以查看创建出来的资源

.net core i上 K8S(三)Yaml文件运行.netcore程序

我们可以查看一下我们指定的label

kubectl get pod cys-netcore-5ffd8bd66b-t5r5x --show-labels

.net core i上 K8S(三)Yaml文件运行.netcore程序

我们也可以根据label查询pod

kubectl get pod -l app=cys-netcore

.net core i上 K8S(三)Yaml文件运行.netcore程序

3.滚动升级kubectl set

kubectl set命令可以执行滚动升级命令模板如下

kubectl set env deployment/cys-netcore serverport=1000    #kubectl set env deployment名  环境变量key=value  

查看历史版本

kubectl rollout history deployment.apps/cys-netcore

.net core i上 K8S(三)Yaml文件运行.netcore程序

查看指定版本信息

kubectl rollout history deployment.apps/cys-netcore --revision=5

.net core i上 K8S(三)Yaml文件运行.netcore程序

4.kubectl edit编辑更多信息

kubectl edit deploy/cys-netcore

打开文件后,编辑环境变量,保存退出,即可通过kubectl rollout history查看记录

5.kubectl rollout undo回滚

kubectl rollout undo deploy/cys-netcore                #回滚到上一版本
kubectl rollout undo deploy/cys-netcore --to-revision=2      #回滚到指定版本

6.扩容kubectl scale

kubectl scale deployment cys-netcore --replicas=2

7.自动扩容

kubectl autoscale deployment cys-netcore --min=10 --max=20 --cpu-precent=70

8.yaml创建service

创建配置文件

apiversion: v1
kind: service
metadata:
  name: netcore-service
  labels:
    app: netcore
spec:
  ports:
  - port: 1001
    targetport: 1000
  selector:
    app: cys-netcore
  type: nodeport
kubectl create -f netcore-service.yaml

.net core i上 K8S(三)Yaml文件运行.netcore程序

访问测试

.net core i上 K8S(三)Yaml文件运行.netcore程序

9.查看日志 kubectl logs

kubectl logs pod/cys-netcore-5ffd8bd66b-q4b7j

.net core i上 K8S(三)Yaml文件运行.netcore程序

10.查看service的ip节点

kubectl get ep netcore-service

.net core i上 K8S(三)Yaml文件运行.netcore程序