日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Nginx-ingress部署及使用

發布時間:2025/3/11 Nginx 76 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx-ingress部署及使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 一 手動部署-官網版
    • 1.1 獲取資源
    • 1.2 安裝RBAC
    • 1.3 安裝基礎資源
    • 1.4 安裝ingress controllers
    • 1.5 創建ingress controllers service
  • 二 手動部署-github社區版(推薦)
    • 2.1 獲取資源
    • 2.2 創建default backend
  • 2.3 確認驗證
  • 三 ingress使用
    • 3.1 創建demo環境
    • 3.2 創建ingress策略
    • 3.3 確認驗證
  • 四 ingress https使用
  • 4.1 創建證書
    • 4.2 創建secret
    • 4.3 創建TLS ingress策略
    • 4.4 確認驗證

一 手動部署-官網版

1.1 獲取資源

1 [root@master01 ~]# mkdir ingress2 [root@master01 ~]# cd ingress/3 [root@master01 ingress]# git clone https://github.com/nginxinc/kubernetes-ingress/4 [root@master01 ingress]# cd kubernetes-ingress/deployments5 [root@master01 ingress]# git checkout v1.7.0

?

1.2 安裝RBAC

1 [root@master01 deployments]# kubectl apply -f common/ns-and-sa.yaml #部署namespace及ServiceAccount2 [root@master01 deployments]# kubectl apply -f rbac/rbac.yaml #部署RBAC角色及權限等

?

1.3 安裝基礎資源

1 [root@master01 deployments]# kubectl apply -f common/default-server-secret.yaml

說明:

創建TLS證書和NGINX中默認服務器的secret。默認服務器返回Not Found頁面,其中包含404狀態代碼,用于未定義的所有訪問規則請求的返回值。默認包含了一個自簽名的證書和生成的密鑰。

1 [root@master01 deployments]# kubectl apply -f common/nginx-config.yaml2 [root@master01 deployments]# kubectl apply -f common/vs-definition.yaml3 [root@master01 deployments]# kubectl apply -f common/vsr-definition.yaml4 [root@master01 deployments]# kubectl apply -f common/ts-definition.yaml #創建虛擬主機5 [root@master01 deployments]# kubectl apply -f common/gc-definition.yaml6 [root@master01 deployments]# kubectl apply -f common/global-configuration.yaml

?

1.4 安裝ingress controllers

1 [root@master01 deployments]# vi daemon-set/nginx-ingress.yaml 1 ……2 - -global-configuration=$(POD_NAMESPACE)/nginx-configuration3 …… 1 [root@master01 deployments]# kubectl apply -f daemon-set/nginx-ingress.yaml2 [root@master01 deployments]# kubectl get pods --namespace=nginx-ingress3 NAME READY STATUS RESTARTS AGE4 5 nginx-ingress-cqv2m 1/1 Running 0 43s6 nginx-ingress-fpmbv 1/1 Running 0 43s7 nginx-ingress-kdl9p 1/1 Running 0 43s8 nginx-ingress-lggw9 1/1 Running 0 43s9 nginx-ingress-lnw28 1/1 Running 0 43s10 nginx-ingress-z8rn8 1/1 Running 0 43s

1.5 創建ingress controllers service

[root@master01 deployments]# vi service/nodeport.yaml

1 apiVersion: v12 kind: Service3 metadata:4 name: nginx-ingress5 namespace: nginx-ingress6 spec:7 type: NodePort8 ports:9 - port: 8010 targetPort: 8011 protocol: TCP12 name: http13 nodePort: 3001114 - port: 44315 targetPort: 44316 protocol: TCP17 name: https18 nodePort: 3001219 selector:20 app: nginx-ingress 1 [root@master01 deployments]# kubectl create -f service/nodeport.yaml2 [root@master01 deployments]# kubectl get svc nginx-ingress --namespace=nginx-ingress3 [root@master01 deployments]# kubectl describe svc nginx-ingress --namespace=nginx-ingress

參考文檔:https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/。

二 手動部署-github社區版(推薦)

2.1 獲取資源

1 [root@master01 ~]# mkdir ingress2 [root@master01 ~]# cd ingress/3 [root@master01 ingress]# wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-0.32.0/deploy/static/provider/baremetal/deploy.yaml4 [root@master01 ingress]# vi deploy.yaml 1 ……2 apiVersion: apps/v13 kind: Deployment4 ……5 spec:6 replicas: 37 ……8 - --default-backend-service=$(POD_NAMESPACE)/default-http-backend9 ……10 apiVersion: v111 kind: Service12 ……13 name: ingress-nginx-controller14 ……15 spec:16 type: NodePort17 externalTrafficPolicy: Local18 ports:19 - name: http20 port: 8021 protocol: TCP22 targetPort: http23 nodePort: 8024 - name: https25 port: 44326 protocol: TCP27 targetPort: https28 nodePort: 44329 ……

[root@master01 ingress]# kubectl create -f deploy.yaml

提示:添加默認backend需要等待default-backend創建完成controllers才能成功部署。

2.2 創建default backend

[root@master01 ingress]# vi default-backend.yaml

1 ---2 apiVersion: apps/v13 kind: Deployment4 metadata:5 name: default-http-backend6 labels:7 app.kubernetes.io/name: default-http-backend8 app.kubernetes.io/part-of: ingress-nginx9 namespace: ingress-nginx10 spec:11 replicas: 112 selector:13 matchLabels:14 app.kubernetes.io/name: default-http-backend15 app.kubernetes.io/part-of: ingress-nginx16 template:17 metadata:18 labels:19 app.kubernetes.io/name: default-http-backend20 app.kubernetes.io/part-of: ingress-nginx21 spec:22 terminationGracePeriodSeconds: 6023 containers:24 - name: default-http-backend25 # Any image is permissible as long as:26 # 1. It serves a 404 page at /27 # 2. It serves 200 on a /healthz endpoint28 image: k8s.gcr.io/defaultbackend-amd64:1.529 livenessProbe:30 httpGet:31 path: /healthz32 port: 808033 scheme: HTTP34 initialDelaySeconds: 3035 timeoutSeconds: 536 ports:37 - containerPort: 808038 resources:39 limits:40 cpu: 10m41 memory: 20Mi42 requests:43 cpu: 10m44 memory: 20Mi45 46 ---47 apiVersion: v148 kind: Service49 metadata:50 name: default-http-backend51 namespace: ingress-nginx52 labels:53 app.kubernetes.io/name: default-http-backend54 app.kubernetes.io/part-of: ingress-nginx55 spec:56 ports:57 - port: 8058 targetPort: 808059 selector:60 app.kubernetes.io/name: default-http-backend61 app.kubernetes.io/part-of: ingress-nginx62 --- 1 [root@master01 ingress]# kubectl create -f default-backend.yaml

2.3 確認驗證

1 [root@master01 ingress]# kubectl get pods -n ingress-nginx2 [root@master01 ingress]# kubectl get svc -n ingress-nginx

參考文檔:https://github.com/kubernetes/ingress-nginx/blob/master/docs/deploy/index.md

三 ingress使用

3.1 創建demo環境

1 [root@master01 ingress]# vi deploy-demo01.yaml #創建第一個用于測試的svc和pod 1 apiVersion: v12 kind: Service3 metadata:4 name: mydemo01svc5 namespace: default6 spec:7 selector:8 app: mydemo019 ports:10 - name: http11 port: 8012 targetPort: 8013 ---14 apiVersion: apps/v115 kind: Deployment16 metadata:17 name: mydemo01pod18 spec:19 replicas: 320 selector:21 matchLabels:22 app: mydemo0123 template:24 metadata:25 labels:26 app: mydemo0127 spec:28 containers:29 - name: myapp30 image: ikubernetes/myapp:v231 ports:32 - name: httpd33 containerPort: 80 1 [root@master01 ingress]# echo '<h1>Hello world!</h1>' > index.html #創建Tomcat測試頁面2 [root@master01 ingress]# scp index.html root@worker01:/etc/kubernetes/3 [root@master01 ingress]# scp index.html root@worker02:/etc/kubernetes/4 [root@master01 ingress]# scp index.html root@worker02:/etc/kubernetes/5 [root@master01 ingress]# vi deploy-demo02.yaml #創建第二個用于測試的svc和pod 1 apiVersion: v12 kind: Service3 metadata:4 name: mydemo02svc5 namespace: default6 spec:7 selector:8 app: mydemo029 ports:10 - name: httpd11 port: 808012 targetPort: 808013 14 ---15 apiVersion: apps/v116 kind: Deployment17 metadata:18 name: mydemo02pod19 spec:20 replicas: 321 selector:22 matchLabels:23 app: mydemo0224 template:25 metadata:26 labels:27 app: mydemo0228 spec:29 containers:30 - name: mytomcat31 image: tomcat:932 ports:33 - name: httpd34 containerPort: 808035 volumeMounts:36 - mountPath: "/usr/local/tomcat/webapps/ROOT/index.html"37 name: sample-volume38 readOnly: true39 volumes:40 - name: sample-volume41 hostPath:42 type: File43 path: /etc/kubernetes/index.html 1 [root@master01 ingress]# kubectl apply -f deploy-demo01.yaml2 [root@master01 ingress]# kubectl apply -f deploy-demo02.yaml3 [root@master01 ingress]# kubectl get pods -o wide4 [root@master01 ingress]# kubectl get svc -o wide

3.2 創建ingress策略

1 [root@master01 ingress]# vi deploy-demo-ingress-http.yaml 1 apiVersion: networking.k8s.io/v1beta12 kind: Ingress3 metadata:4 name: ingress-mydemo5 namespace: default6 annotations:7 kubernetes.io/ingress.class: "nginx"8 spec:9 rules:10 - host: demo01.odocker.com11 http:12 paths:13 - path:14 backend:15 serviceName: mydemo01svc16 servicePort: 8017 - host: demo02.linuxsb.com18 http:19 paths:20 - path:21 backend:22 serviceName: mydemo02svc23 servicePort: 8080 1 [root@master01 ingress]# kubectl apply -f deploy-demo-ingress-http.yaml2 [root@master01 ingress]# kubectl get pods -o wide3 [root@master01 ingress]# kubectl get svc -o wide4 [root@master01 ingress]# kubectl get ingress -o wide

3.3 確認驗證

添加demo01.odocker.com和demo02.odocker.com的解析。分別訪問兩個地址:

參考:https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/

四 ingress https使用

4.1 創建證書

使用自簽名證書,證書創建參考《附008.Kubernetes TLS證書介紹及創建》。

4.2 創建secret

1 [root@master01 ingress]# openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout demo02.key -out demo02.crt -subj "/CN=demo02.odocker.com"2 [root@master01 ingress]# kubectl create secret generic demo02-tls --from-file=demo02.crt --from-file=demo02.key -n default3 [root@master01 ingress]# kubectl get secret demo02-tls 4 NAME TYPE DATA AGE5 6 demo02-tls Opaque 2 27s

4.3 創建TLS ingress策略

[root@master01 ingress]# vi deploy-demo-ingress-https.yaml

1 apiVersion: networking.k8s.io/v1beta12 kind: Ingress3 metadata:4 name: ingress-mydemo02-https5 namespace: default6 annotations:7 kubernets.io/ingress.class: "nginx"8 spec:9 tls:10 - hosts:11 - demo02.odocker.com12 secretName: demo02-tls13 rules:14 - host: demo02.odocker.com15 http:16 paths:17 - path:18 backend:19 serviceName: mydemo02svc20 servicePort: 8080

[root@master01 ingress]# kubectl apply -f deploy-demo-ingress-https.yaml

4.4 確認驗證

瀏覽器訪問:https://demo02.odocker.com/。

總結

以上是生活随笔為你收集整理的Nginx-ingress部署及使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 蜜桃成熟时李丽珍国语 | 久久久国产一区二区三区 | 欧美一区自拍 | 一区二区三区毛片 | 亚洲精品伦理 | 亚洲精品在线观看视频 | 看片地址| 精品1卡二卡三卡四卡老狼 日韩三级网 | 亚欧色视频 | 欧美一级片免费观看 | 久久成人国产精品入口 | 国产免费无码一区二区视频 | 婷婷的五月天 | 性视频网 | 国产性一乱一性一伧一色 | 蜜桃av噜噜一区二区三区小说 | 97av超碰| 欧美爱爱免费视频 | 亚洲色图激情小说 | 纯爱无遮挡h肉动漫在线播放 | 精品欧美视频 | 激情文学亚洲 | 蜜桃在线一区二区三区 | 五月天丁香视频 | 特a级黄色片 | 蜜乳av一区| 精品国产乱码久久久久久预案 | a级黄色网| 亚洲女同女同女同女同女同69 | 亚洲黄av | 美女扒开下面让男人捅 | 东京热一区二区三区四区 | 爱情岛论坛自拍 | 北条麻妃一区二区三区免费 | 国产xxxx在线 | 亚洲视频综合网 | 欧美一级免费看 | www.五月天婷婷.com | 欧美黄色大片免费观看 | 亚洲久久一区 | 国产视频在线一区二区 | 91丨九色丨蝌蚪丨丝袜 | 精品国产乱码久久久 | 同人动漫在线观看 | 亚洲人成电影网站 | 国产-第1页-浮力影院 | 在线aaa | 特色特色大片在线 | 天天干天天碰 | 欧美视频成人 | 欧美变态口味重另类 | 国产精品无码白浆高潮 | 欧美丰满少妇 | 手机成人在线视频 | 久久视频黄色 | 亚洲伦理一区二区三区 | 中文字幕av久久爽一区 | 天天干,天天干 | 天天躁日日躁狠狠躁av麻豆男男 | 少妇高潮一区二区三区69 | 亚洲第一国产 | 国产又黄又猛又粗 | 黄色欧美视频 | 日韩视频一区二区三区四区 | 国产在线观看黄色 | 久久久社区 | 国产成人av电影 | 九色porny自拍视频在线播放 | 91福利区 | 人人妻一区二区三区 | 亚洲天堂精品在线观看 | 国产精品欧美久久久久久 | 国产夫妻自拍av | 一区二区在线视频 | 蜜乳av一区 | 天天插美女 | 欧美日韩国产网站 | 日本中文字幕在线 | 国产日皮视频 | 日韩一区二区视频 | 韩国妻子的朋友 | 日韩亚射吧 | 欧美成人免费观看 | 日本性爱视频在线观看 | 久久er99热精品一区二区 | 暖暖日本在线 | a级片毛片 | 女人扒开腿让男人捅爽 | 麻豆性视频 | 狠狠干伊人 | 免费观看黄色网页 | 亚洲女优视频 | 肉丝超薄少妇一区二区三区 | 久久久久久电影 | 四虎少妇做爰免费视频网站四 | 偷偷在线观看免费高清av | 亚洲欧美综合久久 | 九九九九色 | 人妻av一区二区三区 |