higress 本地k8s环境配置与运行
发布时间 2024-09-26
用户问题 :
higress 本地k8s环境配置与运行
专家官方解答 :
为了在本地Kubernetes(k8s)环境中配置与运行Higress网关,我们可以遵循以下详细步骤,这些步骤基于提供的知识内容:
环境准备
确保你已具备以下基础环境:
- 安装了kubectl。
- 对于Mac/Linux用户,具备执行Bash脚本的能力。
- 对于Windows用户,安装了kind.exe和kubectl.exe。
阶段一:创建本地K8s集群
-
配置集群: 创建一个名为
cluster.conf
的文件,内容应包含节点角色和额外端口映射配置,以确保Higress可以通过80和443端口访问:kind: ClusterapiVersion: kind.x-k8s.io/v1alpha4nodes:- role: control-planekubeadmConfigPatches:- |kind: InitConfigurationnodeRegistration:kubeletExtraArgs:node-labels: "ingress-ready=true"extraPortMappings:- containerPort: 80hostPort: 80protocol: TCP- containerPort: 443hostPort: 443protocol: TCP -
创建集群: 根据你的操作系统执行相应的命令:
- Mac/Linux:
Terminal window kind create cluster --name higress --config=cluster.confkubectl config use-context kind-higress - Windows:
Terminal window kind.exe create cluster --name higress --config=cluster.confkubectl.exe config use-context kind-higress
- Mac/Linux:
阶段二:安装Higress
-
添加Higress Helm仓库:
Terminal window helm repo add higress.io https://higress.io/helm-charts -
安装Higress到本地集群: 本地安装时,使用
global.local=true
标志来指示Higress适应本地环境,并关闭可观测性特性(如果不需要)以简化配置:Terminal window helm install higress -n higress-system higress.io/higress --create-namespace --render-subchart-notes --set global.local=true --set global.o11y.enabled=false
阶段三:配置示例服务与路由
-
创建示例服务(可选,用于验证配置): 使用提供的YAML模板创建一个简单的服务
foo-app
及其服务foo-service
,用于测试路由配置:Terminal window kubectl apply -f - <<EOFapiVersion: v1kind: Podmetadata:name: foo-applabels:app: foospec:containers:- name: foo-appimage: higress-registry.cn-hangzhou.cr.aliyuncs.com/higress/http-echo:0.2.4-alpineargs:- "-text=foo"---apiVersion: v1kind: Servicemetadata:name: foo-servicespec:selector:app: fooports:- port: 5678EOF -
配置路由:
- 方法一(推荐): 使用Higress Console图形界面配置,通过
hgctl dashboard console
命令访问控制台后,根据UI指引创建域名和路由规则。 - 方法二: 直接通过Ingress CRD配置,使用如下YAML创建Ingress资源指向服务
foo-service
:Terminal window kubectl apply -f - <<EOFapiVersion: networking.k8s.io/v1kind: Ingressmetadata:name: fooannotations:ingressclass.kubernetes.io/is-default-class: "true"spec:ingressClassName: higressrules:- host: foo.bar.comhttp:paths:- pathType: Prefixpath: "/foo"path: /backend:service:name: foo-serviceport:number: 5678EOF
- 方法一(推荐): 使用Higress Console图形界面配置,通过
阶段四:请求验证
- 验证配置:
确认Higress已成功配置并路由到服务,执行如下命令(确保你的本地DNS解析或/etc/hosts文件正确设置了
foo.bar.com
指向Higress的IP地址):Terminal window curl http://foo.bar.com/foo -H 'host: foo.bar.com'
总结
以上步骤详细说明了如何在本地Kubernetes环境中配置与运行Higress网关,包括集群的创建、Higress的安装、服务及路由的配置,以及最终的验证过程。请根据实际需求选择合适的服务配置方式,并确保每一步操作均执行成功。
---------------
参考链接 :
- 专家经验:higress 快速开始
---------------
答疑服务说明:
本内容经由技术专家审阅的用户问答的镜像生成,我们提供了专家智能答疑服务,使用方法: 用法1: 在页面的右下的浮窗”专家答疑“。 用法2: 点击专家答疑页(针对部分网站不支持插件嵌入的情况)
另:
有其他开源产品的使用问题?点击访问阿里AI专家答疑服务。
反馈
如问答有错漏,欢迎点:差评给我们反馈。