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

时间:2022-05-15 06:28:04

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

.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. .net core i上 K8S(二)运行简单.netcore程序

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

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

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

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

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

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

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

  9. [K8s]无yaml文件重启Pod

    在没有pod 的yaml文件时,强制重启某个pod kubectl get pod PODNAME -n NAMESPACE -o yaml | kubectl replace --force -f ...

随机推荐

  1. python整理之(字符串、元组、列表、字典)

    一.关于字符串的整理总结 对于字符串的操作常用的有这些: 字符串的操作通过dir()函数可以查看 我们先整理没有下划线的用法,有下划线的暂时不去考虑. 1.capitalize 功能:使字符串的首字母 ...

  2. LoadRunner 接口测试

    Action1() { int i; lr_rendezvous("rend"); lr_start_transaction("get"); ;i<;i+ ...

  3. iOS开发UI篇—ios应用数据存储方式&lpar;归档&rpar;

    iOS开发UI篇—ios应用数据存储方式(归档)  一.简单说明 在使用plist进行数据存储和读取,只适用于系统自带的一些常用类型才能用,且必须先获取路径相对麻烦: 偏好设置(将所有的东西都保存在同 ...

  4. backbone&period;Router History源码笔记

    Backbone.History和Backbone.Router history和router都是控制路由的,做一个单页应用,要控制前进后退,就可以用到他们了. History类用于监听URL的变化, ...

  5. MVC1笔记

    /// ///直接返回 字符串的 Action方法,适用于 不需要返回大量 html代码的业务(类似于一般处理程序) /// public string Index() { return " ...

  6. Java和Flex积分误差(一个)

    1.错误叙述性说明 at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency( ...

  7. css--position和float

    1.元素设置position:relative或者position:absolute后,才能激活left,top,right,bottom和z-index属性,默认情况下这些属性并未激活,设置了也会无 ...

  8. 走近RDD

    RDD(Resilient Distributed Datasets)弹性分布式数据集.RDD可以看成是一个简单的"数组",对其进行操作也只需要调用有限的"数组&quot ...

  9. JAVA之单源最短路径(Single Source Shortest Path,SSSP问题)dijkstra算法求解

    题目简介:给定一个带权有向图,再给定图中一个顶点(源点),求该点到其他所有点的最短距离,称为单源最短路径问题. 如下图,求点1到其他各点的最短距离 准备工作:以下为该题所需要用到的数据 int N; ...

  10. Java并发——volatile关键字

    什么是内存可见性? 这里就要提一下JMM(Java内存模型).当线程在运行的时候,并不是直接直接修改电脑主内存中的变量的值.线程间通讯也不是直接把一个线程的变量的值传给另一个线程,让其刷新变量.下面是 ...