mirror of
https://github.com/alibaba/higress.git
synced 2026-05-28 06:37:26 +08:00
Update README.md
This commit is contained in:
160
README.md
160
README.md
@@ -26,7 +26,7 @@ Higress 是基于阿里内部两年多的 Envoy Gateway 实践沉淀,以开源
|
|||||||
|
|
||||||
- [**使用场景**](#使用场景)
|
- [**使用场景**](#使用场景)
|
||||||
- [**核心优势**](#核心优势)
|
- [**核心优势**](#核心优势)
|
||||||
- [**Quick Start**](#quick-start)
|
- [**Quick Start**](https://higress.io/zh-cn/docs/user/quickstart)
|
||||||
- [**社区**](#社区)
|
- [**社区**](#社区)
|
||||||
|
|
||||||
## 使用场景
|
## 使用场景
|
||||||
@@ -73,164 +73,6 @@ Higress 是基于阿里内部两年多的 Envoy Gateway 实践沉淀,以开源
|
|||||||
|
|
||||||
插件支持热更新,变更插件逻辑和配置都对流量无损。
|
插件支持热更新,变更插件逻辑和配置都对流量无损。
|
||||||
|
|
||||||
## Quick Start
|
|
||||||
|
|
||||||
- [**本地环境**](#本地环境)
|
|
||||||
- [**生产环境**](#生产环境)
|
|
||||||
|
|
||||||
### 本地环境
|
|
||||||
|
|
||||||
#### 第一步、 安装 kubectl & kind
|
|
||||||
|
|
||||||
**MacOS:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
curl -Lo ./kubectl https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl
|
|
||||||
# for Intel Macs
|
|
||||||
[ $(uname -m) = x86_64 ]&& curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.17.0/kind-darwin-amd64
|
|
||||||
# for M1 / ARM Macs
|
|
||||||
[ $(uname -m) = arm64 ] && curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.17.0/kind-darwin-arm64
|
|
||||||
chmod +x ./kind ./kubectl
|
|
||||||
mv ./kind ./kubectl /some-dir-in-your-PATH/
|
|
||||||
```
|
|
||||||
|
|
||||||
**Windows 中使用 PowerShell:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
curl.exe -Lo kubectl.exe https://storage.googleapis.com/kubernetes-release/release/$(curl.exe -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/windows/amd64/kubectl.exe
|
|
||||||
curl.exe -Lo kind-windows-amd64.exe https://kind.sigs.k8s.io/dl/v0.17.0/kind-windows-amd64
|
|
||||||
Move-Item .\kind-windows-amd64.exe c:\some-dir-in-your-PATH\kind.exe
|
|
||||||
Move-Item .\kubectl.exe c:\some-dir-in-your-PATH\kubectl.exe
|
|
||||||
```
|
|
||||||
|
|
||||||
**Linux:**
|
|
||||||
|
|
||||||
```bash
|
|
||||||
curl -Lo ./kubectl https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
|
|
||||||
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.17.0/kind-linux-amd64
|
|
||||||
chmod +x ./kind ./kubectl
|
|
||||||
sudo mv ./kind ./kubectl /usr/local/bin/kind
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 第二步、 创建并启用 kind
|
|
||||||
|
|
||||||
首先创建一个集群配置文件: `cluster.conf`
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# cluster.conf
|
|
||||||
kind: Cluster
|
|
||||||
apiVersion: kind.x-k8s.io/v1alpha4
|
|
||||||
nodes:
|
|
||||||
- role: control-plane
|
|
||||||
kubeadmConfigPatches:
|
|
||||||
- |
|
|
||||||
kind: InitConfiguration
|
|
||||||
nodeRegistration:
|
|
||||||
kubeletExtraArgs:
|
|
||||||
node-labels: "ingress-ready=true"
|
|
||||||
extraPortMappings:
|
|
||||||
- containerPort: 80
|
|
||||||
hostPort: 80
|
|
||||||
protocol: TCP
|
|
||||||
- containerPort: 443
|
|
||||||
hostPort: 443
|
|
||||||
protocol: TCP
|
|
||||||
```
|
|
||||||
|
|
||||||
Mac & Linux 系统执行:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
kind create cluster --name higress --config=cluster.conf
|
|
||||||
kubectl config use-context kind-higress
|
|
||||||
```
|
|
||||||
|
|
||||||
Windows 系统执行:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
kind.exe create cluster --name higress --config=cluster.conf
|
|
||||||
kubectl.exe config use-context kind-higress
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 第三步、 安装 higress
|
|
||||||
|
|
||||||
```bash
|
|
||||||
helm repo add higress.io https://higress.io/helm-charts
|
|
||||||
helm install higress higress.io/higress -n higress-system --set global.kind=true --create-namespace --render-subchart-notes
|
|
||||||
```
|
|
||||||
|
|
||||||
注:helm版本需升级至**v3.8.0**及以上
|
|
||||||
|
|
||||||
#### 第四步、 创建 Ingress 资源并测试
|
|
||||||
|
|
||||||
```bash
|
|
||||||
kubectl apply -f https://higress.io/samples/quickstart.yaml
|
|
||||||
```
|
|
||||||
|
|
||||||
测试 Ingress 生效:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# should output "foo"
|
|
||||||
curl localhost/foo
|
|
||||||
# should output "bar"
|
|
||||||
curl localhost/bar
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 卸载资源
|
|
||||||
|
|
||||||
```bash
|
|
||||||
kubectl delete -f https://higress.io/samples/quickstart.yaml
|
|
||||||
|
|
||||||
helm uninstall higress -n higress-system
|
|
||||||
|
|
||||||
kubectl delete ns higress-system
|
|
||||||
```
|
|
||||||
|
|
||||||
### 生产环境
|
|
||||||
|
|
||||||
#### 第一步、 安装 higress
|
|
||||||
|
|
||||||
```bash
|
|
||||||
helm repo add higress.io https://higress.io/helm-charts
|
|
||||||
helm install higress higress.io/higress -n higress-system --create-namespace --render-subchart-notes
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 第二步、 创建 Ingress 资源并测试
|
|
||||||
|
|
||||||
假设在 default 命名空间下已经部署了一个 test service,服务端口为 80 ,则创建下面这个 K8s Ingress
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: simple-example
|
|
||||||
spec:
|
|
||||||
ingressClassName: higress
|
|
||||||
rules:
|
|
||||||
- host: foo.bar.com
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /foo
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: test
|
|
||||||
port:
|
|
||||||
number: 80
|
|
||||||
```
|
|
||||||
|
|
||||||
测试能访问到该服务:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
curl "$(k get svc -n higress-system higress-gateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')"/foo -H 'host: foo.bar.com'
|
|
||||||
```
|
|
||||||
|
|
||||||
#### 卸载资源
|
|
||||||
|
|
||||||
```bash
|
|
||||||
helm uninstall higress -n higress-system
|
|
||||||
|
|
||||||
kubectl delete ns higress-system
|
|
||||||
```
|
|
||||||
|
|
||||||
## 社区
|
## 社区
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user