我的编程空间,编程开发者的网络收藏夹
学习永远不晚

k8s部署ingress-nginx的方法是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

k8s部署ingress-nginx的方法是什么

本篇内容介绍了“k8s部署ingress-nginx的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、部署配置Ingress

获取配置文件

#文件已下载到本地https://github.com/kubernetes/ingress-nginx/tree/nginx-0.20.0/deploy

准备镜像

unzip ingress-nginx-nginx-0.20.0.zipcd ingress-nginx-nginx-0.20.0/deploy/vim mandatory.yaml     #其他文件的集合#编辑mandatory.yaml文件,将defaultbackend镜像地址改成阿里云的镜像地址(如下图)image: registry.cn-hangzhou.aliyuncs.com/allinpay/defaultbackend-amd64:v1.5

k8s部署ingress-nginx的方法是什么

安装

kubectl apply -f mandatory.yaml

k8s部署ingress-nginx的方法是什么

#稍等片刻,使用下列命令查询kubectl get namespacekubectl get pods -n ingress-nginx

k8s部署ingress-nginx的方法是什么

创建后端pod和service (pod-B、service-B)

vim deploy-demo.yamlapiVersion: v1kind: Servicemetadata:  name: myapp  namespace: defaultspec:  selector:    app: myapp    release: canary  ports:  - name: http    targetPort: 80    port: 80---  apiVersion: apps/v1kind: Deploymentmetadata:  name: myapp-deploy  namespace: defaultspec:  replicas: 3  selector:    matchLabels:      app: myapp      release: canary  template:    metadata:      labels:        app: myapp        release: canary    spec:      containers:      - name: myapp        image: ikubernetes/myapp:v2        ports:        - name: http          containerPort: 80#应用配置kubectl apply -f deploy-demo.yaml#查看kubectl get pods

k8s部署ingress-nginx的方法是什么

创建service-A

vim service-nodeport.yamlapiVersion: v1kind: Servicemetadata:  name: ingress-nginx  namespace: ingress-nginx  labels:    app.kubernetes.io/name: ingress-nginx    app.kubernetes.io/part-of: 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-nginxapp.kubernetes.io/part-of: ingress-nginx#应用配置kubectl apply -f service-nodeport.yaml#查看kubectl get svc -n ingress-nginx

k8s部署ingress-nginx的方法是什么

在外部浏览器中中访问:ip:30080

k8s部署ingress-nginx的方法是什么

此时报错的原因是因为没有生成ingress-controller关联到service-B的ingress规则;

定义ingress规则

定义ingress规则,此间规则会自动注入到ingress-controller(pod)的nginx.conf中;
ingress-controller是直接关联到service-B的,但是中间由ingress来生成各种规则;

vim ingress-myapp.yamlapiVersion: extensions/v1beta1kind: Ingressmetadata:  name: ingress-myapp  namespace: default  annotations:    kubernetes.io/ingress.class: "nginx"spec:  rules:  - host: myapp.magedu.com    http:      paths:      - path:        backend:          serviceName: myapp          servicePort: 80

此时ingress-controller的nginx.conf中会自动生成一个server段的配置,也就是一个nginx的虚拟主机的字段,还包括upstream配置等;
upstream自动代理到后端pod(pod-B),这些都是自动生成,所以就实现了自动生成配置,自动更改配置等;
只需要改此yaml文件即可;

#应用配置kubectl apply -f ingress-myapp.yaml

k8s部署ingress-nginx的方法是什么

在外部主机上配置好host文件

k8s部署ingress-nginx的方法是什么

然后在浏览器中再访问,发现已经可以访问到后端pod了

k8s部署ingress-nginx的方法是什么

二、使用https

创建k8s证书(要注意和后端的pod使用相同的namespace)

kubectl -n default  create secret tls ingress-test --key /home/centos/cert/cash532.key --cert /home/centos/cert/cash532.crt

创建ingress规则

注意namespace的相同性,要不然证书无法生效

vim ingress-myapp-cash532.yamlapiVersion: extensions/v1beta1kind: Ingressmetadata:  name: ingress-myapp  namespace: default  annotations:    kubernetes.io/ingress.class: "nginx"    kubernetes.io/secure-backends: "true"    kubernetes.io/ssl-passthrough: "true"spec:  tls:  - hosts:    - myapp.cash532.xyz    secretName: ingress-test  rules:  - host: myapp.cash532.xyz    http:      paths:      - path:        backend:          serviceName: myapp          servicePort: 80#应用配置kubectl apply -f ingress-myapp-cash532.yaml

浏览器访问

k8s部署ingress-nginx的方法是什么

“k8s部署ingress-nginx的方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

k8s部署ingress-nginx的方法是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

k8s部署ingress-nginx的方法是什么

本篇内容介绍了“k8s部署ingress-nginx的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、部署配置Ingress1、
2023-06-22

k8s部署hadoop的方法是什么

部署Hadoop在Kubernetes(k8s)上有以下几个步骤:1. 创建Kubernetes集群:首先,您需要创建一个Kubernetes集群,可以使用各种工具,如Minikube、kubeadm或托管服务(例如GKE、AKS、EKS等
2023-10-11

k8s集群部署的方法是什么

Kubernetes(简称为k8s)集群的部署方法有多种,可以根据实际需求选择适合的部署方法。以下是一些常见的部署方法:1. 手动部署:使用kubeadm、kubespray等工具手动部署Kubernetes集群。这种方法需要手动配置各个节
2023-10-24

k8s快速部署的方法是什么

Kubernetes(k8s)是一个开源的容器编排平台,用于自动化应用程序的部署、扩展和管理。要快速部署Kubernetes集群,可以使用以下几种常用方法:使用Kubernetes官方工具kubeadm:kubeadm是Kubernetes
k8s快速部署的方法是什么
2024-03-05

k8s单节点部署的方法是什么

要在Kubernetes上部署单节点集群,可以按照以下步骤进行操作:安装Docker:首先,需要在节点上安装Docker。可以按照Docker官方文档提供的步骤进行安装。安装kubectl:kubectl是Kubernetes命令行工具,用
2023-10-27

k8s容器化部署的方法是什么

Kubernetes (k8s) 是一个开源容器编排平台,可以实现容器化应用的部署、扩容、管理和资源调度等功能。Kubernetes 提供了多种部署容器化应用的方法,包括:1. 手动部署:使用 Kubernetes 的命令行工具(如 kub
2023-10-11

k8s部署多个docker的方法是什么

在Kubernetes中部署多个Docker容器的方法如下:创建一个Kubernetes集群:首先需要创建一个Kubernetes集群,可以使用工具如kubeadm、minikube或Kubernetes云提供商(如GKE、AKS、EKS)
2023-10-27

k8s的ingress概念是什么

Kubernetes (k8s) 中的 Ingress 是一种 API 对象,用于将外部流量路由到集群内的服务。它充当了将流量从集群外部路由到集群内部服务的入口点。Ingress 可以实现负载均衡、SSL/TLS 终止、基于域名的路由和路径
2023-10-11

Nginx部署SSL证书的方法是什么

这篇文章主要讲解了“Nginx部署SSL证书的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Nginx部署SSL证书的方法是什么”吧!简单介绍Nginx是目前最新的高性能Web服务
2023-07-04

最简单的k8s集群部署方法是什么

最简单的Kubernetes集群部署方法是使用工具如kubeadm、minikube或者k3s。这些工具能够自动化地在单个节点或者多个节点上部署一个简单的Kubernetes集群。1. 使用kubeadm: - 安装Docker或者co
2023-09-27

k8s部署redis集群实现的方法是什么

这篇文章主要介绍“k8s部署redis集群实现的方法是什么”,在日常操作中,相信很多人在k8s部署redis集群实现的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”k8s部署redis集群实现的方法
2023-07-05

k8s的部署脚本是什么

本篇内容主要讲解“k8s的部署脚本是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“k8s的部署脚本是什么”吧!浅谈dockerdocker可以类比为jvm,jvm也是虚拟机,然后docker
2023-06-29

nginx部署多个端口的方法是什么

要在nginx上部署多个端口,可以通过配置多个server块的方式来实现。下面是一个简单的示例配置:server {listen 80;server_name example.com;location / {proxy_pass http
nginx部署多个端口的方法是什么
2024-03-02

Rancher部署并导入K8S集群的方法是什么

这篇文章主要介绍“Rancher部署并导入K8S集群的方法是什么”,在日常操作中,相信很多人在Rancher部署并导入K8S集群的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Rancher部署并导
2023-06-22

K8s部署gitlab的步骤是什么

创建一个Kubernetes集群,确保集群可以正常运行。安装Helm(如果尚未安装),并添加GitLab的Helm仓库。创建一个新的命名空间(namespace)来部署GitLab。配置GitLab的相关参数,如域名、密码等。使用Helm来
K8s部署gitlab的步骤是什么
2024-03-05

k8s部署flask的步骤是什么

部署一个Flask应用程序到Kubernetes(k8s)可以按照以下步骤进行:创建Docker镜像:首先需要将Flask应用程序打包到Docker镜像中。创建一个Dockerfile,其中包含了Flask应用程序的依赖项和配置。然后使用D
2023-10-23

k8s部署jenkins的流程是什么

部署Jenkins到Kubernetes(k8s)的流程如下:创建一个Kubernetes集群:安装和配置一个Kubernetes集群,确保集群已经运行。创建一个Jenkins的命名空间:在Kubernetes中创建一个新的命名空间,用于部
2023-10-27

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录