我正在 ubuntu 本地运行 k3s 集群,并对 traefik+metalb 进行了测试部署。
这是我正在关注的教程的链接:https://technotim.live/posts/kube-traefik-cert-manager-le/#traefik
这是我的文件夹结构:
.
├── install.sh
├── metallb
│ ├── metallb.yaml
│ └── values.yaml
└── traefik
├── dashboard
│ ├── ingress.yaml
│ ├── middleware.yaml
│ └── secret-dashboard.yaml
├── default-headers.yaml
└── values.yaml
以下是部署后服务的状态: |命名空间|姓名 |类型 |集群IP |外部IP |港口 |年龄|选择器| |----------|------------------------|--------- ------|----------------|-------------|------------ -------------------|-----|----------| |默认| Kubernetes |集群IP | 10.43.0.1 |无 | 443/TCP | 443/TCP 70m |无 | | kube 系统 | kube-dns | kube-dns |集群IP | 10.43.0.10 |无 | 53/UDP,53/TCP,9153/TCP | 69m | k8s-app=kube-dns | k8s-app=kube-dns | | kube 系统 |指标服务器 |集群IP | 10.43.160.178 |无 | 443/TCP | 443/TCP 69m | k8s-app=指标服务器 | |特拉菲克 | Metallb-webhook-服务 |集群IP | 10.43.76.91 |无 | 443/TCP | 443/TCP 58m | app.kubernetes.io/组件=控制器,app.kubernetes.io/实例=金属,app.kubernetes.io/name=金属| |特拉菲克 |特拉菲克 |负载均衡器| 10.43.203.185 | 10.43.203.185待定 | 6887:30092/TCP,6888:32664/TCP | 58m | app.kubernetes.io/instance=traefik-traefik,app.kubernetes.io/name=traefik |
分享我添加或修改的文件,这是我的
metallb.yaml
:
apiVersion: v1
kind: ConfigMap
metadata:
namespace: traefik
name: config
data:
config: |
address-pools:
- name: default
protocol: layer2
addresses:
- 192.168.0.240/28
这是我的
metallb/values.yaml
,与默认值相同:https://github.com/metalb/metalb/blob/main/charts/metalb/values.yaml
这是我的
traefik/values.yaml
:
globalArguments:
- "--global.sendanonymoususage=false"
- "--global.checknewversion=false"
additionalArguments:
- "--serversTransport.insecureSkipVerify=true"
- "--log.level=INFO"
deployment:
enabled: true
replicas: 1
annotations: {}
podAnnotations: {}
additionalContainers: []
initContainers: []
ports:
web:
exposedPort: 6887
redirectTo:
port: websecure
priority: 10
websecure:
exposedPort: 6888
tls:
enabled: true
ingressRoute:
dashboard:
enabled: false
providers:
kubernetesCRD:
enabled: true
ingressClass: traefik-external
allowExternalNameServices: true
kubernetesIngress:
enabled: true
allowExternalNameServices: true
publishedService:
enabled: false
rbac:
enabled: true
service:
enabled: true
type: LoadBalancer
annotations: {}
labels: {}
spec:
loadBalancerIP: 192.168.0.245
loadBalancerSourceRanges:
- 192.168.0.240/28
externalIPs: []
其余文件与教程中的相同。另外,我暂时在路由器上启用了 UPNP Igd,以允许应用程序转发端口。我的部署哪里出了问题?
通过将我的
metallb.yaml
文件更改为:,我立即获得了外部 IP
kind: IPAddressPool
metadata:
name: first-pool
namespace: traefik
spec:
addresses:
- 192.168.0.240/28
但是现在,https://traefik.local.example.com/ 给我一个“站点无法访问错误”