上一章我们通过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. django -- 自定义simpletag 和 filter

    django中自定义simpletag,即使用自己定义的函数在html中处理数据. 步骤: 1.创建并注册app settings.py INSTALLED_APPS = [ 'django.cont ...

  2. axis2 webService开发指南(2)

    1  Axis2的简单WebService示例 1.1 新建一个web工程,创建一个类Greeting,用于当作webservice服务 代码如下: package amyservices; impo ...

  3. Using Mono DLLs in a Unity Project

    [Using Mono DLLs in a Unity Project] The path to the Unity DLLs will typically be: 一个生成dll的例子如下: mcs ...

  4. ORA-00604: 递归 SQL 级别 1 出现错误 ORA-01000: 超出打开游标的最大数

    有程序没关闭游标, --打开了哪些游标 select * from v$open_cursor 在open cursor之后一定要注意要close cursor(在store procedure里更应 ...

  5. 简单HttpClientUtils工具类

    package com.zy.utils; import org.apache.http.HttpEntity; import org.apache.http.HttpStatus; import o ...

  6. linux下项目开发加载动态库:ldconfig与 /etc/ld.so.conf

    场景:自己开发一个项目,程序里包含一些自定义动态库.运行,需要加载这些动态库. 假如这些库在/pro/output/lib/下面,可执行程序在/pro/output/bin/下面. 那么,我们需要: ...

  7. POJ 3017 DP + 单调队列 + 堆

    题意:给你一个长度为n的数列,你需要把这个数列分成几段,每段的和不超过m,问各段的最大值之和的最小值是多少? 思路:dp方程如下:设dp[i]为把前i个数分成合法的若干段最大值的最小值是多少.dp转移 ...

  8. copy&mutableCopy 浅拷贝(shallow copy)深拷贝 (deep copy)

    写在前面 其实看了这么多,总结一个结论: 拷贝的初衷的目的就是为了:修改原来的对象不能影响到拷贝出来得对象 && 修改拷贝出来的对象也不能影响到原来的对象 所以,如果原来对象就是imm ...

  9. Ubuntu Server 12.04 LTS搭建SVN服务及修改端口

    采用了apache结合svn的方式. 首先安装apache.subversion.svn-apache sudo apt-get install apache2 sudo apt-get instal ...

  10. 633E Binary Table

    传送门 分析 我们发现n特别小,所以可以从这里入手 我们记录出所有列中某一种状态的列有多少个 我们再记录出每种列最少有多少个1(原来的1的个数和取反后的个数去最小值) 于是我们可以得出对于所有列异或一 ...