没有合适的资源?快使用搜索试试~ 我知道了~
k8s 新版本 部署 Ingress-nginx controller.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 89 浏览量
2022-07-08
23:04:05
上传
评论
收藏 2.69MB DOC 举报
温馨提示
试读
27页
k8s 新版本 部署 Ingress-nginx controller.doc
资源推荐
资源详情
资源评论
k8s 新版本 部署 Ingress-nginx controller
k8s 新版本 部署 Ingress-nginx controller
本篇主要记录一下 k8s 新版本 1.23.5 中如何搭建 ingress controller 以及里面的注意项
新版本和老版本 区别有不少 ,坑很多,只能从官网一点点撸
1.环境准备
操作系统:Centos7 (CentOS Linux release 7.9.2009)
Master 主节点: 1 台 虚拟机
Node 计算节点: 2 台 虚拟机
K8s version:v1.23.5 (选的较新的版本)
Docker version:20.10.14
环境和上一篇中 kubeadm 搭建 k8s 的一致
2.概述
下面从 官网摘取的对于 Ingress 的介绍
2.1 什么是 Ingress
Ingress 是对集群中服务的外部访问进行管理的 API 对象,典型的访问方式是 HTTP。
Ingress 可以提供负载均衡
Ingress 公开了从集群外部到集群内服务的 HTTP 和 HTTPS 路由。 流量路由由 Ingress
资源上定义的规则控制。
下面是一个将所有流量都发送到同一 Service 的简单 Ingress 示例:
但是 仅创建 Ingress 资源本身没有任何效果,需要有对应的 Ingress 控制器 ,你可能需
要部署 Ingress 控制器,例如 ingress-nginx。 你可以从许多 Ingress 控制器 中进行选择。
2.2 什么是 Ingress controller
为了让 Ingress 资源工作,集群必须有一个正在运行的 Ingress 控制器。k8s 官网维护了 3
个 Ingress 控制器
目前支持和维护 AWS、 GCE 和 Nginx Ingress 控制器 ,本篇就拿 Ingress-nginx 作为
控制器为例 讲解一下如何部署
还有一些 社区等提供的 控制器
3.部署 Ingress-nginx controller
本篇就拿 最常用的 Ingress-nginx 作为 Ingress 的控制器,实现 k8s 把请求重定向到集群
内部(Cluster Ip)服务去
3.1 deploy.yaml 坑点
Ingress-nginx 官网 https://kubernetes..io/ingress-nginx/ 提到了 deploy.yaml 文件
Ingress-nginx 新版本的 depoly.yaml 有些不同,需要拉取下面 2 个镜像
k8s.gcr.io/ingress-nginx/controller:v1.1.2
k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.1.1
多半是下载不到的,所以需要 自己替换一下 ,可以去 docker hub 上找到对应的 镜像文
件
总结 坑点:
新版本中 提供了 IngressClass ,需要在编写 Ingress 的时候指定
Image 加载不到,需要手动去 docker hub 上找其他的 并且修改 deploy.yaml 文件
把 ingress-nginx-controller 使用 hostNetwork: true 进行部署 比 NodePort 减少一层转发,
但是需要指定 选择打了标签的 node nodeSelector: app: ingress
3.2 deploy.yaml 样例(我自己修改后的 可以参考)
#GENERATED FOR K8S 1.20
apiVersion: v1
kind: Namespace
metadata:
labels:
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
name: ingress-nginx
---
apiVersion: v1
automountServiceAccountToken: true
kind: ServiceAccount
metadata:
labels:
app.kubernetes.io/component: controller
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
app.kubernetes.io/version: 1.1.2
helm.sh/chart: ingress-nginx-4.0.18
name: ingress-nginx
namespace: ingress-nginx
---
apiVersion: v1
kind: ServiceAccount
metadata:
annotations:
helm.sh/hook: pre-install,pre-upgrade,post-install,post-upgrade
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
labels:
app.kubernetes.io/component: admission-webhook
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
app.kubernetes.io/version: 1.1.2
helm.sh/chart: ingress-nginx-4.0.18
name: ingress-nginx-admission
namespace: ingress-nginx
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
labels:
app.kubernetes.io/component: controller
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
app.kubernetes.io/version: 1.1.2
helm.sh/chart: ingress-nginx-4.0.18
name: ingress-nginx
namespace: ingress-nginx
rules:
- apiGroups:
- ““
resources:
- namespaces
verbs:
- get
- apiGroups:
- ““
resources:
- configmaps
- pods
- secrets
- endpoints
verbs:
- get
- list
- watch
- apiGroups:
- ““
resources:
- services
verbs:
- get
- list
- watch
- apiGroups:
- networking.k8s.io
resources:
- ingresses
verbs:
- get
- list
- watch
- apiGroups:
- networking.k8s.io
resources:
- ingresses/status
verbs:
- update
- apiGroups:
- networking.k8s.io
resources:
- ingressclasses
verbs:
- get
- list
- watch
- apiGroups:
- ““
resourceNames:
- ingress-controller-leader
resources:
- configmaps
剩余26页未读,继续阅读
资源评论
书博教育
- 粉丝: 1
- 资源: 2837
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功