kind: Namespace
apiVersion: v1
metadata:
  name: demo-webshell
  generateName: demo-webshell
  labels:
    name: demo-webshell
    purpose: Demonstration
  annotations:
    describe: Just show how to create
status:
  phase: ''
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: webshell-ingress
  namespace: demo-webshell
spec:
  rules:
  - host: webshell.com
    http:
      paths:
      - path: /
        backend:
          serviceName: webshell
          servicePort: 80
      - path: /ping
        backend:
          serviceName: webshell
          servicePort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: webshell
  namespace: demo-webshell
spec:
  type: ClusterIP
  ports:
  - name: webshell
    port: 80
    targetPort: 80
    protocol: TCP
  - name: ssh
    port: 22
    targetPort: 22
    protocol: TCP
  selector:
    app: webshell
---
apiVersion: v1
kind: Service
metadata:
  name: webshell-nodeport
  namespace: demo-webshell
spec:
  type: NodePort
  ports:
  - name: webshell
    port: 80
    targetPort: 80
    protocol: TCP
  - name: ssh
    port: 22
    targetPort: 22
    protocol: TCP
  selector:
    app: webshell
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: webshell
  namespace: demo-webshell
spec:
  replicas: 1
  selector:
    matchLabels:
      app: webshell
  template:
    metadata:
      labels:
        name: webshell
        app: webshell
    spec:
      containers:
      - name: webshell
        image: lijiaocn/webshell:1.0
        resources:
          limits:
            cpu: 3
            memory: 128Mi
          requests:
            cpu: 0.1
            memory: 32Mi
        livenessProbe:
          tcpSocket:
            port: 80
          initialDelaySeconds: 5
          timeoutSeconds: 5
          periodSeconds: 10
          successThreshold: 1
          failureThreshold: 3
        imagePullPolicy: Always
        securityContext:
          privileged: false
          runAsNonRoot: false
        stdin: false
        stdinOnce: false
        tty: false
      - name: sshproxy
        image: lijiaocn/sshproxy:1.0
        env:
        - name: ROOTPASS
          value: '123456'
        resources:
          limits:
            cpu: 3
            memory: 128Mi
          requests:
            cpu: 0.1
            memory: 32Mi
        livenessProbe:
          tcpSocket:
            port: 22
          initialDelaySeconds: 5
          timeoutSeconds: 5
        imagePullPolicy: Always
        securityContext:
          privileged: false
          runAsNonRoot: false
        stdin: false
        stdinOnce: false
        tty: false
      restartPolicy: Always
      dnsPolicy: Default
      serviceAccountName: default
      hostNetwork: false
      hostPID: false
      hostIPC: false

给服务添加路由--ingress的更多相关文章

  1. k8s~为服务添加ingress的实现

    为服务添加ingress的实现 1 当我们为指定的项目添加ingress支持之后,它会在“负载均衡”标签页出现,并显示出你的域名解析到的服务. 2 我们的ingress是支持https的,所以需要为你 ...

  2. 面向服务的体系架构 SOA(二) --- 服务的路由和负载均衡

    2. 服务的路由和负载均衡 1.2.1 服务化的演变 SOA设计思想:分布式应用架构体系对于业务逻辑复用的需求十分强烈,上层业务都想借用已有的底层服务来快速搭建更多.更丰富的应用,降低新业务开展的人力 ...

  3. AngularJS路由系列(4)-- UI-Router的$state服务、路由事件、获取路由参数

    本系列探寻AngularJS的路由机制,在WebStorm下开发.主要包括: ● UI-Router的$state服务● UI-Router的路由事件● UI-Router获取路由参数 Angular ...

  4. Linux 静态和动态添加路由

    (一)静态添加 1/5 首先让我们查看当前机器的路由表,执行如下命令:route -n [root@vnode33 network-scripts]# route -n Kernel IP routi ...

  5. 02- web-mini框架添加路由、MySQL(二)

    本篇在上篇的基础上为其增设路由功能,同时将上篇中的数据库中数据备份添加进去. 一.装饰器 在之前有介绍过为一个函数不改变源代码不改变原函数的调用方式下为其增设附加功能,需要用到装饰器,而在该上篇的we ...

  6. vue-element-admin登录逻辑,以及动态添加路由,显示侧边栏

    这段时间在研究element-admin,感觉这个库有许多值得学习的地方,我学习这个库的方法是,先看它的路由,顺着路由,摸清它的逻辑,有点像顺藤摸瓜. 这个库分的模块非常清晰,适合多人合作开发项目,但 ...

  7. 玩转Windows服务系列——给Windows服务添加COM接口

    当我们运行一个Windows服务的时候,一般情况下,我们会选择以非窗口或者非控制台的方式运行,这样,它就只是一个后台程序,没有界面供我们进行交互. 那么当我们想与Windows服务进行实时交互的时候, ...

  8. C# MVC ( 添加路由规则以及路由的反射机制 )

    在项目文件夹下找到 App_Start 下 找到 RouteConfig.cs文件 打开   (1) 约束的规则 从上往下 贪婪性   (2) 用 routes.MapRoute(...) 添加   ...

  9. centos7 拨号之后添加路由

    问题:拨号主机再自动拨号(/sbin/ifdown ppp0;/sbin/ifup ppp0)之后,无法上网(没有添加路由) 思路:在拨号程序中添加路由代码 vim /sbin/ifup { slee ...

随机推荐

  1. 7.log4j

    Log4j:日志工厂的一部分(使用起来比较麻烦) 1.要想使用外部类,得先导包 pom.xml <dependency> <groupId>log4j</groupId& ...

  2. JavaScript错误-throw、try和catch

    try 语句测试代码块的错误. catch 语句处理错误. throw 语句创建自定义错误. finally 语句在 try 和 catch 语句之后,无论是否有触发异常,该语句都会执行. JavaS ...

  3. c语言中void *和NULL

    1.  int *str = NULL; #define NULL    ((void *)0) 空指针实质上是有指向的指针,但它指向的地址是很小的地址,约定俗成为地址0.   2. void *vo ...

  4. 股票数据Scrapy爬虫

    功能描述: 技术路线:scrapy 目标:获取上交所和深交所所有股票的名称和交易信息 输出:保存到文件中 数据网站的确定 获取股票列表: 东方财富网:http://quote.eastmoney.co ...

  5. sublime 最常用的快捷键.gif

    Ctrl+D 把光标放在文本上,按下⌘+ D将选择这个文本.多次按下⌘+ D则会增加匹配项 Alt+F3 会选中光标所在文本的所有匹配项 Ctrl+Shift+' 这是一个法宝,也许你希望所有的属性保 ...

  6. 【网易官方】极客战记(codecombat)攻略-地牢-囚犯

    关卡连接: https://codecombat.163.com/play/level/the-prisoner 解放囚犯,你会得到盟友. 简介 敬请期待! 默认代码 # 释放囚犯,击败守卫并夺取宝石 ...

  7. AcWing 859. Kruskal算法求最小生成树 稠密图

    //稠密图 #include <cstring> #include <iostream> #include <algorithm> using namespace ...

  8. 并发编程Semaphore详解

    Semaphore的作用:限制线程并发的数量 位于 java.util.concurrent 下, 构造方法 // 构造函数 代表同一时间,最多允许permits执行acquire() 和releas ...

  9. 寒假安卓app开发学习记录(2)

    今天属实是头疼的一天.开始的时候是简单了解了一下安卓的系统架构,了解到大概分为四个部分. 然后看了两节创建安卓项目的课程,准备去实践一下的时候突然发现我的eclipse里竟然没有Android选项.查 ...

  10. CentOS7重启和关机

    重启命令: 1.reboot 2.shutdown -r now 立刻重启(root用户使用) 3.shutdown -r 10 过10分钟自动重启(root用户使用) 4.shutdown -r 2 ...