Flomesh Ingress 使用实践(一)基础功能

本文介绍了FlomeshFSM如何作为Kubernetes的Ingress控制器,管理HTTP和HTTPS流量,包括负载均衡、证书配置、路径重写和会话保持等功能。通过示例展示了从集群创建、FlomeshFSM安装到应用配置的全过程。

在这里插入图片描述

背景

Ingress 是对集群中服务的外部访问进行管理的 API 对象,典型的访问方式是 HTTP。提供负载均衡、SSL 终结和基于名称的虚拟托管。为了让 Ingress 资源工作,集群必须有一个正在运行的 Ingress 控制器。

Ingress 控制器 通过监控集群中的 Ingress 资源,对 HTTP 负载均衡器进行配置。

FSM 是 Flomesh 的另一款开源产品,用于 Kubernetes 南北向的流量管理。FSM 以可编程代理 Pipy 为核心,提供了 Ingress 管理器、Gateway API* 实现、负载均衡器以及跨集群的服务注册发现等功能。

从这篇开始,我们将通过多篇文章以演示的方式对 Flomesh Ingress 功能进行介绍。

演示

创建集群

export INSTALL_K3S_VERSION=v1.23.8+k3s2
curl -sfL https://get.k3s.io | sh -s - --disable traefik --disable servicelb --write-kubeconfig-mode 644 --write-kubeconfig ~/.kube/config

部署架构

fsm-demo

安装 Flomesh Ingress

通过 Helm 安装 fsm。

helm repo add fsm https://flomesh-io.github.io/fsm
helm repo update

helm install \
  --namespace fsm \
  --create-namespace \
  --set fsm.version=0.2.1-alpha.2 \
  --set fsm.ingress.tls.enabled=true \
  --set fsm.serviceLB.enabled=true \
  fsm fsm/fsm

示例应用

这里使用的示例应用同时提供了 HTTP 8000 和 HTTPS 8443 访问,有下面几个 path

  • / 返回一个简单的 HTML 页面
  • /hi 返回 200 Hi, there!
  • /api/private 返回 401 Staff only

为了提供 HTTPS,需要为应用先签发 ca 和服务端证书。

openssl genrsa 2048 > ca-key.pem

openssl req -new -x509 -nodes -days 365000 \
   -key ca-key.pem \
   -out ca-cert.pem \
   -subj '/CN=flomesh.io'

openssl genrsa -out server-key.pem 2048
openssl req -new -key server-key.pem -out server.csr -subj '/CN=example.com'
openssl x509 -req -in server.csr -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -days 365

部署示例应用,先创建 Secret 将证书和密钥保存在 secret 中并挂载到应用 pod 中。

kubectl create namespace httpbin
# mount self-signed cert to sample app pod via secret
kubectl create secret generic -n httpbin server-cert \
  --from-file=./server-cert.pem \
  --from-file=./server-key.pem

kubectl apply -n httpbin -f - <<EOF
apiVersion: v1
kind: ServiceAccount
metadata:
  name: httpbin
---
apiVersion: v1
kind: Service
metadata:
  name: httpbin
  labels:
    app: httpbin
    service
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PipyFlomesh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值