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

.net core i上 K8S(三)Yaml文件运行.netcore程序的更多相关文章

  1. K8s简单yaml文件运行例子deployment

    kubectl run 创建并运行一个或多个容器镜像. 创建一个deployment 或job 来管理容器. kubectl run 语法: $ run NAME --image=image [--e ...

  2. .net core i上 K8S(四).netcore程序的pod管理,重启策略与健康检查

    上一章我们已经通过yaml文件将.netcore程序跑起来了,但还有一下细节问题可以分享给大家. 1.pod管理 1.1创建pod kubectl create -f netcore-pod.yaml ...

  3. Kubernetes实战指南(三十三):都0202了,你还在手写k8s的yaml文件?

    目录 1. k8s的yaml文件到底有多复杂 2. 基于图形化的方式自动生成yaml 2.1 k8s图形化管理工具Ratel安装 2.2 使用Ratel创建生成yaml文件 2.2.1 基本配置 2. ...

  4. k8s之yaml文件书写格式

    k8s之yaml文件书写格式 1 # yaml格式的pod定义文件完整内容: 2 apiVersion: v1 #必选,版本号,例如v1 3 kind: Pod #必选,Pod 4 metadata: ...

  5. k8s之yaml文件详解

    k8s之yaml文件详解 目录 k8s之yaml文件详解 1. k8s支持的文件格式 2. YAML语言格式 3. 查看api资源版本标签 4. 编写nginx-test.yaml资源配置清单 4.1 ...

  6. .net core i上 K8S(二)运行简单.netcore程序

    上一章我们搭建了k8s集群,这一章我们开始在k8s集群上运行.netcore程序 1.kubectl run 在我的Docker系列教程里,我曾往docker hub中推送过一个镜像“webdokce ...

  7. .net core i上 K8S(六).netcore程序的service网络代理模式

    上一章我们讲了pod的hostip模式,但在生产环境中,我们都是通过service来访问k8s集群的,service有两种模式来暴漏端口,今天我们来分享一下 1.clusterIP模式 我们在创建se ...

  8. .net core i上 K8S(一)集群搭建

    1.前言 以前搭建集群都是使用nginx反向代理,但现在我们有了更好的选择——K8S.我不打算一上来就讲K8S的知识点,因为知识点还是比较多,我打算先从搭建K8S集群讲起,我也是在搭建集群的过程中熟悉 ...

  9. .net core i上 K8S(五).netcore程序的hostip模式

    上一章讲了pod的管理,今天再分享一个pod的访问方式 1.Pod的HostIP模式 Pod的HostIP模式,可以通过宿主机访问pod内的服务,创建yaml文件如下 apiVersion: v1 k ...

随机推荐

  1. 避免IE在ajax请求时,返回json出现下载

    转自:https://blog.csdn.net/z521q1314/article/details/54409048

  2. MySQL 中随机获取数据

    由于需要大概研究了一下MYSQL的随机抽取实现方法. 目前采用的方法: SELECT * FROM tablename ORDER BY RAND() LIMIT 实现原理: 通过ORDER BY R ...

  3. Linux实战教学笔记20:初级阶段结束,中级阶段起航

    第二十节 第一阶段结束第二阶段起航 标签(空格分隔): Linux实战教学笔记-陈思齐 一,承上 Linux实战教学笔记的基础核心能力阶段也就是第一阶段到此也就告一段落了.如果同学们能基本全都掌握,再 ...

  4. space defender,太空版植物大战僵尸 游戏基本框架的设计

  5. [hdu1823]Luck and Love(二维线段树)

    解题关键:二维线段树模板题(单点修改.查询max) #include<cstdio> #include<cstring> #include<algorithm> # ...

  6. 为什么要用Android Studio?

    为什么要用Android Studio 本书节选自<Android Studio实用指南> 作者: 毕小朋 目前本书已上传到百度阅读,在百度中搜索[Anroid Studio实用指南]便可 ...

  7. 面向对象 继承 抽象类 接口 static 权限修饰符

    Day01 面向对象 继承 抽象类 接口 static 1.匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量. 2.类的继承是指在一个现有类的基础上去构建一个新的类,构建出 ...

  8. Openssl s_time命令

    一.简介 s_time是openss提供的SSL/TLS性能测试工具,用于测试SSL/TSL服务 二.语法 openssl s_time [-connect host:port] [-www page ...

  9. java技术文章集

    RunOOB Java 教程 深入理解Java 8 Lambda spring MVC配置详解 各种参数传递示例代码 关于spring配置文件中ref属性的设定 Spring注解Annotation的 ...

  10. c# dynamic的属性是个变量

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...