首页 > 其他分享 >k8s 1.23.0 安装使用ingress 1.1.1

k8s 1.23.0 安装使用ingress 1.1.1

时间:2023-05-19 11:14:33浏览次数:42  
标签:ingress 1.1 tomcat app nginx 1.23 com name

1、部署ingress controller下载yaml文件,要指定版本

wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.1/deploy/static/provider/cloud/deploy.yaml

2、修改配置文件中的镜像下载地址,总共3处修改

          image: registry.cn-hangzhou.aliyuncs.com/google_containers/nginx-ingress-controller:v1.1.1
          imagePullPolicy: IfNotPresent
          image: registry.cn-hangzhou.aliyuncs.com/google_containers/kube-webhook-certgen:v1.1.1
          imagePullPolicy: IfNotPresent
          image: registry.cn-hangzhou.aliyuncs.com/google_containers/kube-webhook-certgen:v1.1.1
          imagePullPolicy: IfNotPresent

 3、将deploy配置文件修改type为NodePort,如果不修改在查看svc时,会看到type字段显示为LoadBalancer

4、配置文件修改完成后,直接apply就可以,镜像会自动拉取

kubectl apply -f deploy.yaml

 5、采用nodePort的方式进行暴露,编写service-nodeport.yaml,然后apply

apiVersion: v1
kind: Service
metadata:
  name: ingress-nginx
  namespace: ingress-nginx
  labels:
    app.kubernetes.io/name: ingress-nginx
    #app.kubernetes.io/part-of: ingress-nginx
spec:
  type: NodePort
  ports:
    - name: http
      port: 80
      targetPort: 80
      protocol: TCP
      nodePort: 80
    - name: https
      port: 443
      targetPort: 443
      protocol: TCP
  selector:
    app.kubernetes.io/name: ingress-nginx
    #app.kubernetes.io/part-of: ingress-nginx

6、查看service-nodeport.yaml生成的ingress-nginx对应的pod

 7、创建nginx和tomcat的pod,编写nginx-tomcat-deployment.yaml,然后apply

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  namespace: ingress-nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx-pod
  template:
    metadata:
      labels:
        app: nginx-pod
    spec:
      containers:
        - name: nginx-container
          image: nginx:latest
          ports:
            - name: nginx-port
              containerPort: 80
              protocol: TCP

---

apiVersion: apps/v1
kind: Deployment
metadata:
  name: tomcat-deployment
  namespace: ingress-nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: tomcat-pod
  template:
    metadata:
      labels:
        app: tomcat-pod
    spec:
      containers:
        - name: tomcat-container
          image: tomcat:8.5-jre10-slim
          ports:
            - name: tomcat-port
              containerPort: 8080
              protocol: TCP

8、创建nginx和tomcat的service,编写nginx-tomcat-service.yaml,然后apply

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
  namespace: ingress-nginx
spec:
  selector:
    app: nginx-pod
  type: ClusterIP
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80

---


apiVersion: v1
kind: Service
metadata:
  name: tomcat-service
  namespace: ingress-nginx
spec:
  selector:
    app: tomcat-pod
  type: ClusterIP
  ports:
    - protocol: TCP
      port: 8080
      targetPort: 8080

9、上述pod跟svc创建完成后,再创建对应的ingress,ingress要在svc创建完成后再创建

vim ingress-http.yaml

annotations:
    kubernetes.io/ingress.class: "nginx"

注意:如果不加这一条,在外网访问的时候,可能出现404

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-http
  namespace: ingress-nginx
  annotations:
    kubernetes.io/ingress.class: "nginx"
spec:
  rules:
    - host: nginx.bulut.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: nginx-service
                port:
                  number: 80
    - host: tomcat.bulut.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: tomcat-service
                port:
                  number: 8080
kubectl apply -f ingress.yaml

10、在win10主机添加hosts记录,192.168.18.11是k8s的master

192.168.18.11 nginx.bulut.com
192.168.18.11 tomcat.bulut.com

11、在浏览器分别访问http://nginx.bulut.com、http://tomcat.bulut.com可以看到

 

标签:ingress,1.1,tomcat,app,nginx,1.23,com,name
From: https://www.cnblogs.com/lfxx/p/17414309.html

相关文章

  • delphi 写的图片合成工具---品一套图大师 v1.1.0
    在石材行业,套效果图是一个非常重要而经常要面临的工作,如果自身不懂得PS,那就需要经常去麻烦别人,而且客户可能没有办法一直在等你的效果图...基于以上的种种原因,所以就开发了这个工具,只需把图片拉到这工具,点点这个点点那,不到1分钟就可以做出漂亮的效果图~ 软件主界面: 需要套......
  • HTTP1.0、HTTP1.1、HTTP2.0 协议的特点
    HTTP(HypertextTransferProtocol)是一种用于在Web浏览器和Web服务器之间传输数据的协议。HTTP的版本有很多,其中比较常见的有HTTP1.0、HTTP1.1和HTTP2.0,它们有各自的特点。HTTP1.0的特点:1.每个请求/响应需要建立新的TCP连接,并在完成后关闭连接,导致较高的延迟。2.......
  • 关于Kubernetes-v1.23.6-网络组件-calico的安装部署...
    当2个workernodes节点加入到 Kubernetes/k8s集群后,我们去master节点、执行kubectlgetnodes命令就可以看到worker节点了但是我们会看到无论是master节点、还是worker节点,STATUS都会是  NotReady,如下[root@k8s-masterqq-5201351]#kubectlgetnodesNAME......
  • VMware Tanzu Kubernetes Grid Integrated Edition (TKGI) 1.16 - 运营商 Kubernetes
    VMwareTanzuKubernetesGridIntegratedEdition(TKGI)1.16-运营商Kubernetes解决方案请访问原文链接:https://sysin.org/blog/vmware-tkgi/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgVMwareTanzuKubernetesGridIntegratedEdition(TKGI)使运营商能......
  • 最简单的canal 1.1.6服务搭建方法
    前言:    因为在项目中集成了ElasticSearch,用于某些业务场景的搜素或筛选。这里关于ElasticSearch就不做介绍了,虽然解决了全文搜索的性能问题。但是当出现一些频繁更新的数据放置在ES就有点麻烦了。    这时候,一款能把MySQL数据即时同步到ElasticSearch的工具就显得......
  • go1.18版本下 beego/bee安装无法生成exe问题已解决
    我原来的项目是教育学习APP使用gin框架,很多东西都是自己原来实现的。最近开发小程序,需要重新独立后台,又重新找了下go框架研究了下,beego确实是个好框架,至少项目能用到的都考虑进去了。然后发现我本地装了一个下午,beego框架是一直生成了,bee也下载了,就是无法生成exe文件,没有bee.e......
  • 每日打卡-21.1
    一.问题描述使用I/O流以文本方式建立一个文件test1.txt,写入字符“已成功写入文件!”,用其它字处理程序(例如windows的记事本程序Notepad)打开,看看是否正确写入。二.设计思路三.流程图四.伪代码 1五.代码实现 1#include<fstream>#include<iostream>usingnamespacestd;int......
  • 1.1 空间向量及其运算
    知识剖析空间向量的概念在空间,我们把具有大小和方向的量叫做空间向量,用字母\(\vec{a},\vec{b},\vec{c}\ldots\ldots\)表示,空间向量的大小叫做空间向量的长度或模.解释\((1)\)空间中点的位移、物体运动的速度、物体受到的力等都可以用空间向量表示;\((2)\)向量\(\vec{a}\)......
  • k8s中的Ingress
    虽然通过kube-proxy可以帮助实现集群内外的pod相互通信,对这些pod做负载均衡(用户态userspace轮询算法,性能低也不安全)和网络的流量代理,但是随着service的增多,nodeIP越来越多,并且kube-proxy生成的规则链也会越来越多,即使是iptables路由(内核态随机算法,性能高直接转给后端EndPoint)对Linu......
  • hbase1.1.7的安装
    安装步骤参考http://wuchong.me/blog/2015/04/05/hbase-cluster-deploy/hbase官方文档http://hbase.apache.org/book.html#configuration另外两篇也有参考价值关闭防火墙https://zhidao.baidu.com/question/303901938543294164.htmlserviceiptablesstopchkconfigiptables......