基于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

文章中的配置文件

posted @   shiningrise  阅读(108)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2021-05-17 ubuntu 完全干净的卸载docker
2021-05-17 thinkphp5 助手函数input的常用方法
2016-05-17 微信分享接口
2013-05-17 运动会管理系统
2013-05-17 Firebird数据库自动备份脚本
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css
点击右上角即可分享
微信分享提示