温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

k8s ingress-nginx

发布时间:2020-02-28 01:17:02 来源:网络 阅读:290 作者:wx5a98a78793203 栏目:系统运维

kubernetes Ingess 是有2部分组成,Ingress Controller 和Ingress服务组成,常用的Ingress Controller 是ingress-nginx,工作的原理是:

Ingress Controller 会动态感知集群中的Ingress的规则变化,然后读取,动态生成Nginx的配置文件,最后注入到运行nginx的pod的中,然后会自动reload,配置生效。

用kubernetes Ingress 是由于它是7层调度,可以直接卸载https会话,代理的后端的pod可以直接使用明文的http协议。

而Service NodePort得类型,是4层得调度,做不到这点,然而现在https是一种趋势,所以在kubernetes 对外暴露服务得时候我们还是要选择Ingress。

下面我们来看下Ingress得部署:
原理图
k8s ingress-nginx

1.创建后端容器和service

首先创建一个文件夹专门放置Igress得yaml得文件,mkdir ingress
vim myapp.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp
spec:
  replicas: 3
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
        - name: myapp-ding
          image: ikubernetes/myapp:v2
---
apiVersion: v1
kind: Service
metadata:
  name: myapp
    #等会ingress就靠这个来匹配
spec:
  selector:
    app: myapp
  type: ClusterIP
  ports:
  - port: 80
    targetPort: 80

2.配置ingress的配置文件

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-ding
  namespace: default
  annotations:
    kubernetes.io/ingress.class: "nginx"
spec:
  rules:
  - host: www.yang.com
    #虚拟机主机域名
    http:
      paths:
      - path:
        backend:
          serviceName: myapp
          #代理后端的service 的name
          servicePort: 80
          #后端service的端口
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI