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

时间:2018-12-10
本文章向大家介绍.net core i上 K8S(三)Yaml文件运行.netcore程序,主要包括.net core i上 K8S(三)Yaml文件运行.netcore程序相关应用实例、知识点总结和注意事项,具有一定的参考价值,需要的朋友可以参考一下。

上一章我们通过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 

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

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

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

我们也可以根据label查询pod

kubectl get pod -l app=cys-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

查看指定版本信息

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

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

访问测试

9.查看日志 kubectl logs

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

10.查看service的ip节点

kubectl get ep netcore-service