91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-12-09 11:12:15 來源:億速云 閱讀:237 作者:iii 欄目:開發技術

本篇內容介紹了“k8s部署ingress-nginx的方法是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

一、部署配置Ingress

1、獲取配置文件

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

2、準備鏡像

unzip ingress-nginx-nginx-0.20.0.zip
cd 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的方法是什么

3、安裝

kubectl apply -f mandatory.yaml

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

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

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

4、創建后端pod和service (pod-B、service-B)

vim deploy-demo.yaml
apiVersion: v1
kind: Service
metadata:
  name: myapp
  namespace: default
spec:
  selector:
    app: myapp
    release: canary
  ports:
  - name: http
    targetPort: 80
    port: 80
---  
apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp-deploy
  namespace: default
spec:
  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的方法是什么

5、創建service-A

vim service-nodeport.yaml
apiVersion: v1
kind: Service
metadata:
  name: ingress-nginx
  namespace: ingress-nginx
  labels:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx
spec:
  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

#查看
kubectl get svc -n ingress-nginx

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

在外部瀏覽器中中訪問:ip:30080

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

此時報錯的原因是因為沒有生成ingress-controller關聯到service-B的ingress規則;

6、定義ingress規則

定義ingress規則,此間規則會自動注入到ingress-controller(pod)的nginx.conf中;
ingress-controller是直接關聯到service-B的,但是中間由ingress來生成各種規則;

vim ingress-myapp.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  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

1、創建k8s證書(要注意和后端的pod使用相同的namespace)

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

2、創建ingress規則

注意namespace的相同性,要不然證書無法生效

vim ingress-myapp-cash532.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  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的方法是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泾源县| 宁波市| 襄垣县| 红河县| 林西县| 故城县| 韶山市| 河曲县| 宁南县| 邢台市| 榆林市| 五河县| 定结县| 广西| 台前县| 历史| 扬州市| 宜丰县| 大足县| 博兴县| 金沙县| 延川县| 仲巴县| 连云港市| 辽源市| 融水| 长葛市| 嘉祥县| 五台县| 凤凰县| 亳州市| 商都县| 乌兰察布市| 定西市| 新巴尔虎左旗| 都江堰市| 韶关市| 潼南县| 平顶山市| 疏勒县| 集安市|