.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

原文地址:https://www.cnblogs.com/chenyishi/p/10094923.html

时间: 2024-11-04 07:33:23

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

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

上一章我们已经通过yaml文件将.netcore程序跑起来了,但还有一下细节问题可以分享给大家. 1.pod管理 1.1创建pod kubectl create -f netcore-pod.yaml 我们创建一个netcore-pod.yaml文件,内容如下: apiVersion: v1 kind: Pod #指明类型 metadata: name: netcore-pod labels: app: netcorepod spec: containers: - name: netcorepo

k8s之yaml文件基本格式及底层负载均衡实现原理

本文只是自己的精简后的总结,若需要详细的资料,请绕步. 注:yaml文件严格要求缩进,默认不同层次等级是两个空格的缩进. 1.使用httpd镜像创建一个Deployment资源对象 [[email protected] ~]# vim lvjianzhao.yaml #编写yaml文件 kind: Deployment #指定要创建的资源对象类型 apiVersion: extensions/v1beta1 #指定deployment所对应的API版本 metadata: name: lvjia

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

1.前言 以前搭建集群都是使用nginx反向代理,但现在我们有了更好的选择——K8S.我不打算一上来就讲K8S的知识点,因为知识点还是比较多,我打算先从搭建K8S集群讲起,我也是在搭建集群的过程中熟悉了K8S的一些概念,希望对大家有所帮助.K8S集群的搭建难度适中,网上有很多搭建k8s的教程,我搭建的过程中或多或少遇到一些问题,现在就把我总结完的教程给大家总结一下.这里主要讲通过二进制包安装K8S 2.集群组件介绍 节点 ip 组件 master 192.168.8.201 etcd:存储集群节

.net core i上 K8S(七).netcore程序的服务发现

上一章我们分享了k8s的网络代理模式,今天我们来分享一下k8s中的服务发现. 1.环境变量模式的服务发现 k8s默认为我们提供了通过环境变量来实现服务发现的功能,前提是 1.需要service在pod之前创建 2.适用于同一命名空间 1.1创建service [[email protected] ~]# cat netcore-service.yaml apiVersion: v1 kind: Service metadata: name: netcore-service labels: app

K8s之YAML文件

Kubernetes支持YAML和JSON格式创建资源对象 1,JSON格式用于接口之间消息的传递2,YAML格式用于配置和管理3,YAML是一种简洁的非标记性语言 语法格式: 缩进标识层级关系不支持制表符(tab)缩进,使用空格缩进通常开头缩进两个空格字符后缩进一个空格,如冒号,逗号等"---"表示YAML格式,一个文件的开始"#"表示注释 `查看应用名称` [[email protected] ~]# kubectl api-versions admission

k8s的yaml文件配置详解(转))

来源:https://www.cnblogs.com/arrow-kejin/p/10058758.html 1 apiVersion: v1 #指定api版本,此值必须在kubectl apiversion中 2 kind: Pod #指定创建资源的角色/类型 3 metadata: #资源的元数据/属性 4 name: django-pod #资源的名字,在同一个namespace中必须唯一 5 labels: #设定资源的标签,使这个标签在service网络中备案,以便被获知 6 k8s-

c#转JAVA,在LINUX Ubutu上安装JDK,并运行JAVA程序

即然选择JAVA,自然是自已写的程序要在各个OS上能跑, 下面是安装教程,是通过网络在线安装的,输几个命令然后等待几个,很轻松, 本人测试有效 ubuntu下安装oracle java8 ubuntu提供的openjdk经常会发生莫名奇妙的错误,比如IDE会突然崩掉之类的.正好java8也出来,何不在最新的ubuntu上尝试一下最新的java. 首先添加ppa $ sudo add-apt-repository ppa:webupd8team/java 然后更新系统 $ sudo apt-get

ASP.NET Core WEB API 使用element-ui文件上传组件el-upload执行手动文件文件,并在文件上传后清空文件

前言: 从开始学习Vue到使用element-ui-admin已经有将近快两年的时间了,在之前的开发中使用element-ui上传组件el-upload都是直接使用文件选取后立即选择上传,今天刚好做了一个和之前类似的文件选择上传的需求,不过这次是需要手动点击按钮把文件上传到服务器中进行数据导入,而且最多只能够选择一个文件进行上传,上传成功后需要对file-list中的文件列表数据进行清空操作,在这里服务端使用的是ASP.NET Core WEB API来进行文件流数据接收和保存. 一.简单概述e

文件上传三:base64编码上传

介绍三种上传方式: 文件上传一:伪刷新上传 文件上传二:FormData上传 文件上传三:base64编码上传 Flash的方式也玩过,不喜欢不拿来说了. 优点: 1.浏览器可以马上展示图像,不需要先上传到服务端,减少服务端的垃圾图像 2.前端可以压缩.处理后上传到服务端,减少传输过程中的等待时间和服务器压力 缺点: 1.生成编码后保存成图片,倘若不做处理,会比原来的图片容量大,具体原因,搜索关键词:Base64编码为什么会使数据量变大 2.图片越大生成的编码越多,编码越多开发者工具中查看它时卡