首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
介绍
1.1. 原理
1.1.1. IC 流量转发
1.1.2. IC Pod 内部逻辑
1.1.3. IC 进程内部逻辑
部署
2.1. 版本说明
2.2. 使用清单文件部署
2.2.1. 配置RBAC
2.2.2. 创建CRD
2.2.3. 部署控制器
2.2.4. LB配置
2.2.5. 验证
2.2.5.1. 默认404页面
2.2.5.2. ingress http 验证
2.2.5.3. ingress https 验证
配置
3.1. Nginx全局配置
3.1.1. 命令行参数
3.1.2. ConfigMap
3.1.2.1. 常规自定义配置
3.1.2.2. 日志配置
3.1.2.3. SSL/TLS 配置
3.1.2.4. Listeners配置
3.1.2.5. Backend配置
3.1.2.6. Snippets & Custom 模板
3.1.2.7. 链路追踪
3.2. Ingress资源配置
3.2.1. annotations
3.2.1.2. Listeners
3.2.1.3. General
3.2.1.4. URI/Header
3.2.1.5. Auth / TLS
3.2.1.6. upstream
3.2.1.7. sinppets
3.2.3. 案例
3.2.3.1. 简单demo
3.2.3.2. kubernetes dashboard
3.2.3.3. jenkins
3.3. CRD配置
3.3.1. TransportServer
运维
4.1. 日志
4.2. 状态页
4.3. 监控
当前位置:
首页>>
技术小册>>
Kubernets合辑2-部署Ingress
小册名称:Kubernets合辑2-部署Ingress
部署控制器的方式有两种: ● 使用deployment + service(NodePort/LoadBalancer) ● 使用daemonset 一般情况,在私有云环境中,更加推荐使用daemonset,在公有云可以使用 deployment。这里以daemon为例: ``` [root@maxiaoke nginxinc-ingress]# kubectl label nodes ubuntu-2004-104 ingress-controller/nginx=yes [root@maxiaoke nginxinc-ingress]# kubectl label nodes ubuntu-2004-105 ingress-controller/nginx=yes [root@maxiaoke nginxinc-ingress]# kubectl label nodes ubuntu-2004-106 ingress-controller/nginx=yes [root@maxiaoke nginxinc-ingress]# kubectl apply -f daemon-set/nginx-ingress.yaml ``` daemon-set/nginx-ingress.yaml: ``` apiVersion: apps/v1 kind: DaemonSet metadata: name: nginx-ingress namespace: nginx-ingress spec: selector: matchLabels: app: nginx-ingress template: metadata: labels: app: nginx-ingress #annotations: # 如果prometheus是通过注释采集日志,则需要打开 #prometheus.io/scrape: "true" #prometheus.io/port: "9113" #prometheus.io/scheme: http spec: serviceAccountName: nginx-ingress containers: - image: nginx/nginx-ingress:2.2.0 # 不带链路追踪的镜像,链路跟踪后续演示 imagePullPolicy: IfNotPresent name: nginx-ingress ports: - name: http containerPort: 80 hostPort: 80 - name: https containerPort: 443 hostPort: 443 - name: readiness-port containerPort: 8081 - name: prometheus containerPort: 9113 readinessProbe: httpGet: path: /nginx-ready port: readiness-port periodSeconds: 1 securityContext: allowPrivilegeEscalation: true runAsUser: 101 #nginx capabilities: drop: - ALL add: - NET_BIND_SERVICE env: - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: TZ # 指定时区,方便查看日志 value: Asia/Shanghai args: - -nginx-configmaps=$(POD_NAMESPACE)/nginx-config - -default-server-tls-secret=$(POD_NAMESPACE)/default-server-secret - -wildcard-tls-secret=$(POD_NAMESPACE)/default-server-secret # 指定默认证书,当ingress中声明TLS却没有指定secretName时使用该证书 - -enable-prometheus-metrics # 启用prometheus指标 - -enable-snippets # 支持通过注释插入代码片段 - -health-status # 开启健康状态检查接口,方便前端LB对它健康检查 - -enable-latency-metrics # 开启延迟指标监控 nodeSelector: ingress-controller/nginx: "yes" # 选择部署的节点,即使是daemonset也不是所有worker节点都部署 ```
上一篇:
2.2.2. 创建CRD
下一篇:
2.2.4. LB配置
该分类下的相关小册推荐:
Kubernets合辑9-资源约束
Kubernetes合辑1-安装Kubernetes
Kubernets合辑8-权限控制
Kubernetes中文教程(一)
Kubernets合辑4-kubernetes入门
Kubernets合辑3-kubernetes介绍
Kubernets合辑7-存储
Kubernetes中文教程(六)
Kubernetes中文教程(五)
Kubernetes中文教程(三)
Kubernets合辑14-日志收集
Kubernetes中文教程(四)