This is an automated email from the ASF dual-hosted git repository.

zhangjintao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-ingress-controller.git


The following commit(s) were added to refs/heads/master by this push:
     new 99b66340 docs: Deploy to OpenShift (#1761)
99b66340 is described below

commit 99b66340fada0920d635f559e651f3d3ecf80c1f
Author: Jintao Zhang <[email protected]>
AuthorDate: Fri Mar 31 17:12:36 2023 +0800

    docs: Deploy to OpenShift (#1761)
    
    Signed-off-by: Jintao Zhang <[email protected]>
---
 docs/en/latest/deployments/openshift.md | 93 +++++++++++++++++++++++++++++++++
 1 file changed, 93 insertions(+)

diff --git a/docs/en/latest/deployments/openshift.md 
b/docs/en/latest/deployments/openshift.md
new file mode 100644
index 00000000..a660d631
--- /dev/null
+++ b/docs/en/latest/deployments/openshift.md
@@ -0,0 +1,93 @@
+---
+title: OpenShift
+keywords:
+  - APISIX ingress
+  - Apache APISIX
+  - Kubernetes ingress
+  - OpenShift
+description: Guide to install APISIX ingress controller on OpenShift.
+---
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+-->
+
+This document explains how you can install APISIX ingress locally on 
[OpenShift](https://www.redhat.com/en/technologies/cloud-computing/openshift/container-platform).
+
+## Prerequisites
+
+Setting up APISIX ingress on OpenShift requires the following:
+
+* [Deploy your OpenShift 
cluster](https://www.redhat.com/en/technologies/cloud-computing/openshift/deploy-red-hat-openshift)
+* Install [OpenShift CLI 
(oc)](https://docs.openshift.com/container-platform/4.12/cli_reference/openshift_cli/getting-started-cli.html#installing-openshift-cli)
+* Install [Helm](https://helm.sh/).
+* Install [kubectl](https://kubernetes.io/docs/tasks/tools/).
+
+## Before Start
+
+You should create a Project to deploy APISIX Ingress controller. e.g. 
`ingress-apisix`
+
+Due to the existence of [security context constraints 
(SCC)](https://docs.openshift.com/container-platform/4.9/authentication/managing-security-context-constraints.html)
 in OpenShift, you need to create an authorized account for deployment.
+
+You can complete the relevant operations through `oc` CLI.
+
+## Install APISIX and ingress controller
+
+The script below installs APISIX and the ingress controller:
+
+```shell
+helm repo add apisix https://charts.apiseven.com
+helm repo add bitnami https://charts.bitnami.com/bitnami
+helm repo update
+#  We use Apisix 3.0 in this example. If you're using Apisix v2.x, please set 
to v2
+ADMIN_API_VERSION=v3
+helm install apisix apisix/apisix \
+  --set gateway.type=NodePort \
+  --set ingress-controller.enabled=true \
+  --set etcd.podSecurityContext.enabled=false \
+  --set etcd.containerSecurityContext.enabled=false \
+  --create-namespace \
+  --namespace ingress-apisix \
+  --set ingress-controller.config.apisix.serviceNamespace=ingress-apisix \
+  --set ingress-controller.config.apisix.adminAPIVersion=$ADMIN_API_VERSION
+kubectl get service --namespace ingress-apisix
+```
+
+:::tip
+
+APISIX Ingress also supports (beta) the new [Kubernetes Gateway 
API](https://gateway-api.sigs.k8s.io/).
+
+If the Gateway API CRDs are not installed in your cluster by default, you can 
install it by running:
+
+```shell
+kubectl apply -f 
https://github.com/kubernetes-sigs/gateway-api/releases/download/v0.5.0/standard-install.yaml
+```
+
+You should also enable APISIX Ingress controller to work with the Gateway API. 
You can do this by adding the flag `--set 
ingress-controller.config.kubernetes.enableGatewayAPI=true` while installing 
through Helm.
+
+See [this 
tutorial](https://apisix.apache.org/docs/ingress-controller/tutorials/configure-ingress-with-gateway-api)
 for more info.
+
+:::
+
+This will create the five resources mentioned below:
+
+* `apisix-gateway`: dataplane the process the traffic.
+* `apisix-admin`: control plane that processes all configuration changes.
+* `apisix-ingress-controller`: ingress controller which exposes APISIX.
+* `apisix-etcd` and `apisix-etcd-headless`: stores configuration and handles 
internal communication.
+
+You should now be able to use APISIX ingress controller. You can try running 
this [minimal example](../tutorials/proxy-the-httpbin-service.md) to see if 
everything is working perfectly.

Reply via email to