ingress-nginx 部署使用

安装部署 nginx-ingress-controller

输入下面网址:选择版本

https://github.com/kubernetes/ingress-nginx/blob/nginx-0.30.0/deploy/static/mandatory.yaml

ingress-nginx   部署使用

ingress-nginx   部署使用
vim mandatory.yaml  #新建一个yaml文件直接复制粘贴  ps: vim 编辑器 需要 set paste  防止格式错误​​

官网提示(0.30版本):!!! tip If you are using a Kubernetes version previous to 1.14, you need to change kubernetes.io/osto beta.kubernetes.io/osat line 217 of

把第217 行 的 kubernetes.io/os 替换成 beta.kubernetes.io/os

kubectl   version    查看集群版本Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.3", GitCommit:"721bfa751924da8d1680787490c54b9179b1fed0", GitTreeState:"clean", BuildDate:"2019-02-01T20:08:12Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.3", GitCommit:"721bfa751924da8d1680787490c54b9179b1fed0", GitTreeState:"clean", BuildDate:"2019-02-01T20:00:57Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}​
214       terminationGracePeriodSeconds: 300215       serviceAccountName: nginx-ingress-serviceaccount216       nodeSelector:217         beta.kubernetes.io/os: linux218       containers:219         - name: nginx-ingress-controller:set nu

修改完创建资源

[root@localhost ~/test/ingress]# kubectl apply -f mandatory.yaml namespace/ingress-nginx createdconfigmap/nginx-configuration createdconfigmap/tcp-services createdconfigmap/udp-services createdserviceaccount/nginx-ingress-serviceaccount createdclusterrole.rbac.authorization.k8s.io/nginx-ingress-clusterrole createdrole.rbac.authorization.k8s.io/nginx-ingress-role createdrolebinding.rbac.authorization.k8s.io/nginx-ingress-role-nisa-binding createdclusterrolebinding.rbac.authorization.k8s.io/nginx-ingress-clusterrole-nisa-binding createddeployment.apps/nginx-ingress-controller createdlimitrange/ingress-nginx created​查看控制器Pod  已经正常运行[root@localhost ~/test/ingress]# kubectl get pods -n ingress-nginxNAME                                       READY   STATUS    RESTARTS   AGEnginx-ingress-controller-97547988b-jh9q4   1/1     Running   0          3m32s​​​

创建个service 集群外访问

[root@localhost ~/test/ingress]# vim service-nodeport.yaml ​apiVersion: v1kind: Servicemetadata:  name: ingress-nginx  namespace: ingress-nginxspec:  type: NodePort  ports:  - name: http    port: 80    targetPort: 80    protocol: TCP    nodePort: 30080  - name: https    port: 443    targetPort: 443    protocol: TCP    nodePort: 30443  selector:    app.kubernetes.io/name: ingress-nginx    app.kubernetes.io/part-of: ingress-nginx​​​​kubectl apply  -f  service-nodeport.yaml    ​​

创建一组应用pod和对应的service

[root@localhost ~/test/ingress/tomcat]# vim deploy-tomcat.yaml ​apiVersion: v1kind: Servicemetadata:  name: tomcat  namespace: defaultspec:  selector:    app: tomcat    release: canary  ports:  - name: http    port: 80    targetPort: 8080 # - name: ajp  #  port: 8009   # targetPort: 8009​---apiVersion: apps/v1kind: Deploymentmetadata:  name: tomcat-deployspec:  replicas: 3  selector:    matchLabels:      app: tomcatrelease: canary  template:    metadata:      labels:        app: tomcat        release: canary    spec:      containers:      - name: tomcat        image: tomcat:7-alpine        ports:        - name: httpd          containerPort: 8080    #    - name: ajp     #     containerPort: 8009                                  kubectl apply -f deploy-tomcat.yaml

配置 ingress 规则

[root@localhost ~/test/ingress/tomcat]# vim tomcat.yaml ​apiVersion: extensions/v1beta1kind: Ingressmetadata:  name: ingress-tomcat  namespace: default  annotations:    kubernets.io/ingress.class: "nginx"spec:  rules:  - host: tomcat.luoluo.com    http:      paths:      - path:        backend:          serviceName: tomcat          servicePort: 8080                    kubectl apply -f tomcat.yaml ​

浏览器输入 tomcat.luoluo.com:30080 验证 #测试需要修改宿主机 C:\Windows\System32\drivers\etc 下 HOSTS文件 映射

ingress-nginx   部署使用

对tomcat服务添加httpds服务

创建私有证书及secret

openssl genrsa -out tls.key 2048​[root@localhost ~/test/ingress/tomcat]# openssl req -new -x509 -key tls.key -out tls.crt -subj /C=CN/ST=Beijing/L=Beijing/O=DevOps/CN=tomcat.luoluo.com  #注意域名要和服务的域名一致 ​​kubectl create secret tls tomcat-ingress-secret --cert=tls.crt --key=tls.key #创建secret​​​

将证书应用至tomcat服务中

[root@localhost ~/test/ingress/tomcat]# vim ingress-tomcat-tls.yaml ​apiVersion: extensions/v1beta1kind: Ingressmetadata:  name: ingress-tomcat-tls  namespace: default  annotations:    kubernets.io/ingress.class: "nginx"spec:  tls:  - hosts:    - tomcat.luoluo.com        #与secret证书的域名需要保持一致    secretName: tomcat-ingress-secret   #secret证书的名称  rules:  - host: tomcat.luoluo.com    https:      paths:      - path:        backend:          serviceName: tomcat          servicePort: 8080~                                                                                                                                     ~                                                                                              kubectl apply -f ingress-tomcat-tls.yaml    ​~

ingress-nginx   部署使用

Original: https://www.cnblogs.com/luoluo160717/p/15757925.html
Author: 不用去猜。
Title: ingress-nginx 部署使用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611493/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 【Linux进程间通信】共享内存的使用

    背景 最近需要开发一个测试程序,接受Tester端的测试指令,执行一条条外设的测试用例,执行完成后将测试数据的结果上报,上报方式未定,考虑到耦合和配套问题,决定采用共享内存机制,设…

    Linux 2023年6月13日
    0106
  • 分布式数据库

    目录: 1.分布式数据库的核心功能 2.分布式数据库的优点 3.分布式数据库的缺点 4.市面上分布式数据库的产品分类 5.分布式数据库的搭建 随着互联网的发展,人类社会的数据量迅速…

    Linux 2023年6月6日
    069
  • Docker-数据卷管理

    Docker-数据卷管理 1.利用数据卷和数据容器管理数 管理Docker 容器中数据主要有两种方式:数据卷(Data Volumes)和数据卷容器( DataVolumes Co…

    Linux 2023年6月13日
    095
  • 一文带你玩透结构体和方法

    package main import ( "fmt" ) //定义结构体类型User type User struct { username string &…

    Linux 2023年6月7日
    085
  • 【抄】Shell正则表达式

    shell 正则语法基础 copy from: https://man.linuxde.net/docs/shell_regex.html 正则表达式的分类 基本的正则表达式(Ba…

    Linux 2023年5月28日
    0115
  • Docker基本命令

    第一次使用docker,从helle world开始 docker run hello-world 镜像的完整写法:[仓库地址/]镜像名[:版本号] –help 查看帮…

    Linux 2023年6月13日
    0111
  • [apue] linux 文件系统那些事儿

    前言 说到 linux 的文件系统,好多人第一印象是 ext2/ext3/ext4 等具体的文件系统,本文不涉及这些,因为研究具体的文件系统难免会陷入细节,甚至拉大段的源码做分析,…

    Linux 2023年5月27日
    0114
  • Docker 搭建 Nexus3 私服 | 基本操作

    1 Docker 安装 Nexus3 1.1 创建目录 在硬盘上创建 Nexus3 的主目录: mkdir -p /Users/yygnb/dockerMe/nexus3 为该目录…

    Linux 2023年6月7日
    082
  • redis分享PPT材料

    上次在公司类做了一个redis分享,特别想把ppt上传上来,好像博客园不支持,那就截图把 1.简介 redis是什么: redis是一个nosql(not only sql不仅仅只…

    Linux 2023年5月28日
    079
  • 2020年12月-第02阶段-前端基础-CSS Day05

    CSS Day05 学成在线页面制作 理解 能够说写单页面我们基本的流程能说出常见的css初始化语句能说出我们CSS属性书写顺序 应用 能利用ps切图能引入外部样式表能把psd文件…

    Linux 2023年6月8日
    0119
  • Rabbitmq安装与部署

    安装包otp_src_22.3.tar.gz,下载到部署服务器tar -zxvf解压 mv otp_src_22.3 ./erlang变更文件夹名字 可能需要安装的依赖包 yum …

    Linux 2023年5月27日
    0102
  • 《Redis开发与运维》——(六)Redis复制(脑图)

    posted @2021-01-09 15:05 雪山上的蒲公英 阅读(91 ) 评论() 编辑 / 返回顶部代码 / Original: https://www.cnblogs….

    Linux 2023年5月28日
    080
  • MySQL环境变量配置方法

    MySQL配置方法 下载免安装版本的MySQL数据库,大家根据自己的开发环境下载对应版本的数据库,我在此举例的是Windows系统下的配置方法,下载地址如下: https://de…

    Linux 2023年6月7日
    0107
  • UE4游戏上架Steam全流程

    本人使用的是UE4.27.2, Windows 11操作系统。 首先,在ue4项目的插件设置中,勾选Online Subsystem 和 Online Subsystem Stea…

    Linux 2023年6月6日
    0103
  • OSI模型 TCP/IP协议

    系统中每打开一个程序,系统会自动分配一个端口号(0~65535) 端口号:来区分应用程序 网络层:传给哪台主机 加入ip地址(源发出去的地址 目:目的地址)选路 数据链路层:mac…

    Linux 2023年6月6日
    0100
  • Django中自定义管理器Manager用法

    Django中Manager用法 第一种 class create_user(models.Manager): def create(self, name, sex, age): …

    Linux 2023年6月14日
    095
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球