人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

k8s部署ingress-nginx的方法步驟

發(fā)布日期:2022-02-01 04:24 | 文章來(lái)源:站長(zhǎng)之家

k8s集群服務(wù)部署好之后,需要對(duì)外提域名訪問(wèn),這時(shí)候就需要ingress-nginx了,今天來(lái)給大家分享一下

一、部署配置Ingress

1、獲取配置文件

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

2、準(zhǔn)備鏡像

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

3、安裝

kubectl apply -f mandatory.yaml

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

4、創(chuàng)建后端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
#應(yīng)用配置
kubectl apply -f deploy-demo.yaml
#查看
kubectl get pods

5、創(chuàng)建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
#應(yīng)用配置
kubectl apply -f service-nodeport.yaml
#查看
kubectl get svc -n ingress-nginx

在外部瀏覽器中中訪問(wèn):ip:30080

此時(shí)報(bào)錯(cuò)的原因是因?yàn)闆](méi)有生成ingress-controller關(guān)聯(lián)到service-B的ingress規(guī)則;

6、定義ingress規(guī)則

定義ingress規(guī)則,此間規(guī)則會(huì)自動(dòng)注入到ingress-controller(pod)的nginx.conf中;
ingress-controller是直接關(guān)聯(lián)到service-B的,但是中間由ingress來(lái)生成各種規(guī)則;

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

此時(shí)ingress-controller的nginx.conf中會(huì)自動(dòng)生成一個(gè)server段的配置,也就是一個(gè)nginx的虛擬主機(jī)的字段,還包括upstream配置等;
upstream自動(dòng)代理到后端pod(pod-B),這些都是自動(dòng)生成,所以就實(shí)現(xiàn)了自動(dòng)生成配置,自動(dòng)更改配置等;
只需要改此yaml文件即可;

#應(yīng)用配置
kubectl apply -f ingress-myapp.yaml

在外部主機(jī)上配置好host文件

然后在瀏覽器中再訪問(wèn),發(fā)現(xiàn)已經(jīng)可以訪問(wèn)到后端pod了

二、使用https

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

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

2、創(chuàng)建ingress規(guī)則

注意namespace的相同性,要不然證書(shū)無(wú)法生效

vim ingress-myapp-cash432.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.cash432.xyz
    secretName: ingress-test
  rules:
  - host: myapp.cash432.xyz
    http:
      paths:
      - path:
        backend:
          serviceName: myapp
          servicePort: 80
#應(yīng)用配置
kubectl apply -f ingress-myapp-cash432.yaml

瀏覽器訪問(wèn)

到此這篇關(guān)于k8s部署ingress-nginx的方法步驟的文章就介紹到這了,更多相關(guān)k8s部署ingress-nginx內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

香港服務(wù)器租用

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開(kāi)通

自選配置、實(shí)時(shí)開(kāi)通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問(wèn)服務(wù)

1對(duì)1客戶咨詢顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部