mirror of
https://gitee.com/iresty/apisix.git
synced 2024-12-15 09:21:26 +08:00
6a986f4649
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
68 lines
2.2 KiB
Bash
Executable File
68 lines
2.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
#
|
|
# 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.
|
|
#
|
|
|
|
set -ex
|
|
|
|
start_minikube() {
|
|
curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"
|
|
chmod +x ./kubectl
|
|
sudo mv ./kubectl /usr/local/bin/kubectl
|
|
|
|
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
|
|
sudo dpkg -i --force-architecture minikube_latest_amd64.deb
|
|
minikube start
|
|
}
|
|
|
|
modify_config() {
|
|
DNS_IP=$(kubectl get svc -n kube-system -l k8s-app=kube-dns -o 'jsonpath={..spec.clusterIP}')
|
|
echo "dns_resolver:
|
|
- ${DNS_IP}
|
|
etcd:
|
|
host:
|
|
- \"http://etcd-cluster-client.default.svc.cluster.local:2379\"
|
|
plugin_attr:
|
|
prometheus:
|
|
enable_export_server: false
|
|
" > ./conf/config.yaml
|
|
sed -i -e 's/apisix:latest/apisix:alpine-local/g' kubernetes/deployment.yaml
|
|
}
|
|
|
|
ensure_pods_ready() {
|
|
local app=$1
|
|
local status=$2
|
|
local retries=$3
|
|
|
|
count=0
|
|
while [[ $(kubectl get pods -l app=${app} -o 'jsonpath={..status.conditions[?(@.type=="Ready")].status}') != ${status} ]];
|
|
do
|
|
echo "Waiting for pod running" && sleep 10;
|
|
|
|
((count=count+1))
|
|
if [ $count -gt ${retries} ]; then
|
|
printf "Waiting for pod status running timeout\n"
|
|
kubectl describe pod -l app=${app}
|
|
printf "\n\n"
|
|
kubectl logs -l app=${app}
|
|
exit 1
|
|
fi
|
|
done
|
|
}
|
|
|
|
"$@"
|