k3s安装ingress
时间: 2025-01-02 07:38:37 浏览: 13
### 如何在 k3s 上安装配置 Ingress 控制器
#### 准备工作
确保 `k3s` 已经正确部署并运行,其二进制文件位于 `/usr/local/bin/k3s` 路径下,并具有可执行权限[^1]。
#### 使用官方推荐的 NGINX Ingress Controller 安装方法
一种常见的做法是利用 Helm 或者直接应用 Kubernetes 清单文件来部署 NGINX Ingress Controller。以下是不依赖于 Helm 的简单方式:
```bash
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.49.0/deploy/static/provider/cloud/deploy.yaml
```
这段命令会下载最新的稳定版 NGINX Ingress Controller 配置文件并将其应用于集群中[^2]。
#### 自定义安装选项
如果希望自定义安装过程,则可以通过修改 YAML 文件来自定义参数,比如更改 Service 类型为 NodePort 或 LoadBalancer 来适应不同的云环境需求。对于本地测试或小型项目来说,默认设置通常是足够的。
#### 测试 Ingress 功能
为了验证新安装的 Ingress 是否正常工作,创建一个简单的 Nginx Deployment 和相应的 Service 后,再建立一条基本的 Ingress 规则指向该服务即可完成初步的功能检测[^3]。
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
---
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
ports:
- port: 80
targetPort: 80
selector:
app: nginx
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: test-ingress
spec:
rules:
- host: example.local
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: nginx-service
port:
number: 80
```
上述资源清单描述了一个名为 `test-ingress` 的入口对象,它将所有发往域名 `example.local` 下根路径 (`"/"`) 的 HTTP 请求转发给前面提到的服务实例 `nginx-service` 处理。
阅读全文