基於Ubuntu-22.04安裝K8s-v1.28.2實驗(四)使用域名訪問網站應用

安裝負載均衡metalb

安裝metalb

kubectl create namespace metallb-system

配置metalb

#kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)"
kubectl apply -f config.yaml
#config.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  namespace: metallb-system
  name: config
data:
  config: |
    address-pools:
    - name: default
      protocol: layer2
      addresses:
      - 192.168.215.100-192.168.215.199 #改成IP分配的範圍

3. 部署 MetalLB:使用以下命令將 MetalLB 部署到 Kubernetes 集羣中。

kubectl apply -f metallb.yaml

4. 驗證安裝

kubectl get pods -n metallb-system

安裝成功如下圖,我們可以看到LoadBalancer類型的service獲取到外部地址
image

安裝ingress-nginx

應用ingress,我們會發現沒有外部IP,因爲需要安裝ingress-nginx

image

部署ingress-nginx

kubectl apply -f deploy.yaml #deploy.yaml我把鏡像傳到阿里雲鏡像服務器,不然國外鏡像無法訪問

2. 驗證安裝:運行以下命令,確保 Ingress-Nginx 正常運行。

image

使用http域名訪問網站應用

#nginx-ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: nginx-ingress
spec:
  ingressClassName: "nginx" #這個參數沒有的ingress將分配不到IP
  rules:
    - host: test.wxy.kim
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: nginx-service
                port:
                  number: 80

使用https訪問網站應用

創建 Kubernetes Secret:將證書和私鑰存儲在 Kubernetes Secret 中。使用以下命令創建一個 Secret:

 kubectl create secret tls wxy-secret --cert=/root/cert/fullchain.pem --key=/root/cert/privkey.pem

kubectl apply -f nginx-ingress.yaml

# nginx-ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: nginx-ingress
spec:
  ingressClassName: "nginx" #這個參數沒有的ingress將分配不到IP
  tls:
    - hosts:
        - test.wxy.kim
      secretName: wxy-secret
  rules:
    - host: test.wxy.kim #你的域名
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: nginx-service
                port:
                  number: 80

文章中的配置文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章