tokers commented on code in PR #366: URL: https://github.com/apache/apisix-helm-chart/pull/366#discussion_r996882709
########## docs/en/latest/FAQ.md: ########## @@ -34,6 +37,280 @@ helm install apisix apisix/apisix \ --set etcd.host={http://etcd_node_1:2379\,http://etcd_node_2:2379} ``` +### How to install Apache APISIX running in standalone mode? + +Helm chart does not provide a direct way to deploy Apache APISIX running in standalone mode. You can install it in the following manner. + +Create a `deploy.yaml` with the following content. + +<Tabs + groupId="version" + defaultValue="3.0.0-beta" + values={[ + {label: '3.0.0-beta', value: '3.0.0-beta'}, + {label: '2.15', value: '2.15'}, + ]}> + +<TabItem value="3.0.0-beta"> + +```yaml +# deploy.yaml +kind: ConfigMap +apiVersion: v1 +metadata: + name: apisix-gw-config.yaml +data: + config.yaml: | + deployment: + role: data_plane + role_data_plane: + config_provider: yaml + +--- + +kind: ConfigMap +apiVersion: v1 +metadata: + name: apisix.yaml +data: + apisix.yaml: | + routes: + - + uri: /hi + upstream: + nodes: + "127.0.0.1:1980": 1 + type: roundrobin + #END + +--- + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: apisix-deployment +spec: + replicas: 1 + selector: + matchLabels: + app: apisix-deployment + strategy: + rollingUpdate: + maxSurge: 50% + maxUnavailable: 1 + type: RollingUpdate + template: + metadata: + labels: + app: apisix-deployment + spec: + terminationGracePeriodSeconds: 0 + containers: + - livenessProbe: + failureThreshold: 3 + initialDelaySeconds: 1 + periodSeconds: 2 + successThreshold: 1 + tcpSocket: + port: 9080 + timeoutSeconds: 2 + readinessProbe: + failureThreshold: 3 + initialDelaySeconds: 1 + periodSeconds: 2 + successThreshold: 1 + tcpSocket: + port: 9080 + timeoutSeconds: 2 + image: "apache/apisix:2.99.0-centos" + imagePullPolicy: IfNotPresent + name: apisix-deployment + command: ["sh", "-c","ln -s /apisix-config/apisix.yaml /usr/local/apisix/conf/apisix.yaml && /docker-entrypoint.sh docker-start"] + ports: + - containerPort: 9080 + name: "http" + protocol: "TCP" + - containerPort: 9443 + name: "https" + protocol: "TCP" + volumeMounts: + - mountPath: /usr/local/apisix/conf/config.yaml + name: apisix-config-yaml-configmap + subPath: config.yaml + - mountPath: /apisix-config + name: apisix-admin + volumes: + - configMap: + name: apisix-gw-config.yaml + name: apisix-config-yaml-configmap + - configMap: + name: apisix.yaml + name: apisix-admin + +--- + +apiVersion: v1 +kind: Service +metadata: + name: apisix-service +spec: + selector: + app: apisix-deployment + ports: + - name: http + port: 9080 + protocol: TCP + targetPort: 9080 + - name: https + port: 9443 + protocol: TCP + targetPort: 9443 + type: NodePort +``` + +</TabItem> + +<TabItem value="2.15"> + +```yaml +# deploy.yaml +kind: ConfigMap +apiVersion: v1 +metadata: + name: apisix-gw-config.yaml +data: + config.yaml: | + apisix: + enable_admin: false + config_center: yaml + +--- + +kind: ConfigMap +apiVersion: v1 +metadata: + name: apisix.yaml +data: + apisix.yaml: | + routes: + - + uri: /hi + upstream: + nodes: + "127.0.0.1:1980": 1 + type: roundrobin + #END + +--- + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: apisix-deployment +spec: + replicas: 1 + selector: + matchLabels: + app: apisix-deployment + strategy: + rollingUpdate: + maxSurge: 50% + maxUnavailable: 1 + type: RollingUpdate + template: + metadata: + labels: + app: apisix-deployment + spec: + terminationGracePeriodSeconds: 0 + containers: + - livenessProbe: + failureThreshold: 3 + initialDelaySeconds: 1 + periodSeconds: 2 + successThreshold: 1 + tcpSocket: + port: 9080 + timeoutSeconds: 2 + readinessProbe: + failureThreshold: 3 + initialDelaySeconds: 1 + periodSeconds: 2 + successThreshold: 1 + tcpSocket: + port: 9080 + timeoutSeconds: 2 + image: "apache/apisix:2.15.0-alpine" + imagePullPolicy: IfNotPresent + name: apisix-deployment + command: ["sh", "-c", "ln -s /apisix-config/apisix.yaml /usr/local/apisix/conf/apisix.yaml && /usr/bin/apisix init && /usr/bin/apisix init_etcd && /usr/local/openresty/bin/openresty -p /usr/local/apisix -g 'daemon off;'"] + ports: + - containerPort: 9080 + name: "http" + protocol: "TCP" + - containerPort: 9443 + name: "https" + protocol: "TCP" + volumeMounts: + - mountPath: /usr/local/apisix/conf/config.yaml + name: apisix-config-yaml-configmap + subPath: config.yaml + - mountPath: /apisix-config + name: apisix-admin + volumes: + - configMap: + name: apisix-gw-config.yaml + name: apisix-config-yaml-configmap + - configMap: + name: apisix.yaml + name: apisix-admin + +--- + +apiVersion: v1 +kind: Service +metadata: + name: apisix-service +spec: + selector: + app: apisix-deployment + ports: + - name: http + port: 9080 + protocol: TCP + targetPort: 9080 + - name: https + port: 9443 + protocol: TCP + targetPort: 9443 + type: NodePort +``` + +</TabItem> + +</Tabs> + +Apply the configuration in `deploy.yaml` to pod. + +```shell +kubectl apply -f deploy.yaml +``` + +:::note +1. The mount of the `apisix.yaml` file requires the injection of the softlink command, so do not change the configMap mount directory to `/usr/local/apisix/conf`, to avoid other configuration files being overwritten. + +```yaml +# reference the apisix.yaml file in the mount directory to /usr/local/apisix/conf/apisix.yaml +command: ["sh", "-c", "ln -s /apisix-config/apisix.yaml /usr/local/apisix/conf/apisix.yaml && /usr/bin/apisix init && /usr/bin/apisix init_etcd && /usr/local/openresty/bin/openresty -p /usr/local/apisix -g 'daemon off;'"] Review Comment: ```suggestion command: ["sh", "-c", "ln -s /apisix-config/apisix.yaml /usr/local/apisix/conf/apisix.yaml && /usr/bin/apisix init && /usr/bin/apisix init_etcd && /usr/local/openresty/bin/openresty -p /usr/local/apisix -g 'daemon off;'"] ``` ########## docs/en/latest/FAQ.md: ########## @@ -34,6 +37,280 @@ helm install apisix apisix/apisix \ --set etcd.host={http://etcd_node_1:2379\,http://etcd_node_2:2379} ``` +### How to install Apache APISIX running in standalone mode? + +Helm chart does not provide a direct way to deploy Apache APISIX running in standalone mode. You can install it in the following manner. + +Create a `deploy.yaml` with the following content. + +<Tabs + groupId="version" + defaultValue="3.0.0-beta" + values={[ + {label: '3.0.0-beta', value: '3.0.0-beta'}, + {label: '2.15', value: '2.15'}, + ]}> + +<TabItem value="3.0.0-beta"> + +```yaml +# deploy.yaml +kind: ConfigMap +apiVersion: v1 +metadata: + name: apisix-gw-config.yaml +data: + config.yaml: | + deployment: + role: data_plane + role_data_plane: + config_provider: yaml + Review Comment: Remove the empty line? ########## docs/en/latest/FAQ.md: ########## @@ -34,6 +37,270 @@ helm install apisix apisix/apisix \ --set etcd.host={http://etcd_node_1:2379\,http://etcd_node_2:2379} ``` +### How to install Apache APISIX running in standalone mode? + +Helm chart does not provide a direct way to deploy Apache APISIX running in standalone mode. You can install it in the following manner. + +Create a `deploy.yaml` with the following content. + +<Tabs + groupId="version" + defaultValue="3.0.0-beta" + values={[ + {label: '3.0.0-beta', value: '3.0.0-beta'}, + {label: '2.15', value: '2.15'}, + ]}> + +<TabItem value="3.0.0-beta"> + +```yaml +# deploy.yaml +kind: ConfigMap +apiVersion: v1 +metadata: + name: apisix-gw-config.yaml +data: + config.yaml: | + deployment: + role: data_plane + role_data_plane: + config_provider: yaml + +--- + +kind: ConfigMap +apiVersion: v1 +metadata: + name: apisix.yaml +data: + apisix.yaml: | + routes: + - + uri: /hi + upstream: + nodes: + "127.0.0.1:1980": 1 + type: roundrobin + #END + +--- + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: apisix-deployment +spec: + replicas: 1 + selector: + matchLabels: + app: apisix-deployment + strategy: + rollingUpdate: + maxSurge: 50% + maxUnavailable: 1 + type: RollingUpdate + template: + metadata: + labels: + app: apisix-deployment + spec: + terminationGracePeriodSeconds: 0 + containers: + - livenessProbe: + failureThreshold: 3 + initialDelaySeconds: 1 + periodSeconds: 2 + successThreshold: 1 + tcpSocket: + port: 9080 + timeoutSeconds: 2 + readinessProbe: + failureThreshold: 3 + initialDelaySeconds: 1 + periodSeconds: 2 + successThreshold: 1 + tcpSocket: + port: 9080 + timeoutSeconds: 2 + image: "apache/apisix:2.99.0-centos" + imagePullPolicy: IfNotPresent + name: apisix-deployment + command: ["sh", "-c","ln -s /apisix-config/apisix.yaml /usr/local/apisix/conf/apisix.yaml && /docker-entrypoint.sh docker-start"] Review Comment: I think so. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org