日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Kubernetes Ingress:靈活的集群外部網(wǎng)絡(luò)訪問的利器

Kubernetes Ingress:靈活的集群外部網(wǎng)絡(luò)訪問的利器

作者:玄明Hanko 2023-11-08 07:50:41

云計算

云原生 Ngress Controller 是負責(zé)處理 Ingress 請求的組件。Kubernetes 提供了多種 Ingress Controller,您可以根據(jù)需要選擇。

賓川ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

前提條件

  • 您已經(jīng)擁有一個 Kubernetes 集群,并且可以訪問該集群。
  • 您已經(jīng)安裝了 kubectl 命令行工具。

版本選擇

安裝前需要選擇兼容你Kubernetes的版本,不能會失敗。

ingress由兩部分組成:

  • Ingress Controller:負責(zé)處理 Ingress 請求,并將請求轉(zhuǎn)發(fā)到正確的服務(wù)。
  • Ingress 資源對象:定義 Ingress 規(guī)則,包括路由規(guī)則、負載均衡、SSL/TLS 保護等。

以下就是具體的安裝步驟:

安裝 Ingress Controller

Ingress Controller 是負責(zé)處理 Ingress 請求的組件。Kubernetes 提供了多種 Ingress Controller,您可以根據(jù)需要選擇。以下是常用的 Ingress Controller:

  • Nginx Ingress Controller:基于 Nginx 的 Ingress Controller,功能強大,易于配置。
  • HAProxy Ingress Controller:基于 HAProxy 的 Ingress Controller,性能優(yōu)異,適用于高并發(fā)場景。
  • Contour Ingress Controller:基于 Envoy 的 Ingress Controller,功能豐富,適用于多云場景。

在本教程中,我們將使用 Nginx Ingress Controller 進行演示。

wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.4.0/deploy/static/provider/cloud/deploy.yaml

一定要把版本后面帶的@摘要值刪除掉。

要創(chuàng)建 Ingress 資源對象,您可以使用 kubectl 命令:

kubectl apply -f deploy.yaml
#安裝后查看安裝結(jié)果
kubectl  get pods  -n ingress-nginx

看到下圖的結(jié)果就代表成功了,只要controller是Running,其它是Completed就可以了。

如果發(fā)現(xiàn)安裝失敗,可以嘗試刪除pod再重新kubectl apply -f deploy.yaml。

#強制刪除pod
kubectl delete pod --all -n ingress-nginx --force --grace-period=0
kubectl apply -f deploy.yaml

如果想查看具體的失敗原因,可以使用下面的命令。

kubectl  get pods  -n ingress-nginx
kubectl describe pod ingress-nginx-controller-6c978d4999-vqfwp --namespace ingress-nginx

發(fā)部署應(yīng)用

vim nginx-deploy.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx-demo
  name: nginx-demo
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - image: nginx
        name: nginx
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx
  name: nginx
spec:
  selector:
    app: nginx
  ports:
  - port: 8000
    protocol: TCP
    targetPort: 80
kubecl apply -f nginx-deploy.yaml

kubectl get pod,svc

Ingress資源對象

vim ingress-nginx.yaml:

apiVersion: networking.k8s.io/v1
kind: Ingress  
metadata:
  name: ingress-nginx
spec:
  ingressClassName: nginx
  rules:
  - host: "demo.com"
    http:
      paths:
      - pathType: Prefix
        path: "/"
        backend:
          service:
            name: nginx
            port:
              number: 8000

沒有域名可以自己在/etc/hosts 增加demo.com:

kubecl apply -f ingress-nginx.yaml

kubectl get ing

查看端口:

kubectl  get pods,svc  -n ingress-nginx

總結(jié)

一般安裝都會失敗,主要是國內(nèi)無法下載鏡像??梢钥吹降谝粋€deploy.yaml中要下載兩個鏡像文件分別是:

  • registry.k8s.io/ingress-nginx/controller:v1.4.0。
  • registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20220916-gd32f8c343。

有幾種解決方案:

  • 改成國內(nèi)鏡像源,一般舊怎么的還是比較多的,新版本還是比較少。
  • 安裝個代理,然后下載。
  • 手動下載鏡像tar,再docker load進本地鏡像庫里。使用tag修改鏡像tag:
docker tag old_image_name new_image_name

標(biāo)題名稱:Kubernetes Ingress:靈活的集群外部網(wǎng)絡(luò)訪問的利器
URL網(wǎng)址:http://www.dlmjj.cn/article/djeojie.html