Signed-off-by: changzhen <changzhen5@huawei.com> |
||
|---|---|---|
| .. | ||
| boilerplate | ||
| tools | ||
| .import-aliases | ||
| OWNERS | ||
| README.md | ||
| build.sh | ||
| cherry_pick_pull.sh | ||
| create-cluster.sh | ||
| delete-cluster.sh | ||
| deploy-agent-and-estimator.sh | ||
| deploy-karmada-agent.sh | ||
| deploy-karmada-opensearch.sh | ||
| deploy-karmada.sh | ||
| deploy-scheduler-estimator.sh | ||
| docker.sh | ||
| local-up-karmada.sh | ||
| post-run-e2e.sh | ||
| pre-run-e2e.sh | ||
| release-helm-chart.sh | ||
| release.sh | ||
| remote-up-karmada.sh | ||
| run-e2e.sh | ||
| undeploy-karmada-agent.sh | ||
| undeploy-karmada.sh | ||
| update-all.sh | ||
| update-codegen.sh | ||
| update-crdgen.sh | ||
| update-estimator-protobuf.sh | ||
| update-import-aliases.sh | ||
| update-lifted.sh | ||
| update-swagger-docs.sh | ||
| update-vendor.sh | ||
| util.sh | ||
| verify-all.sh | ||
| verify-codegen.sh | ||
| verify-crdgen.sh | ||
| verify-estimator-protobuf.sh | ||
| verify-import-aliases.sh | ||
| verify-lifted.sh | ||
| verify-staticcheck.sh | ||
| verify-swagger-docs.sh | ||
| verify-vendor.sh | ||
| version.sh | ||
README.md
Karmada hack GuideLines
This document describes how you can use the scripts from the hack directory
and gives a brief introduction and explanation of these scripts.
Scripts in this directory are mainly for the purpose which improves development efficiency and ensures development quality.
Key scripts
For end-user
-
local-up-karmada.shThis script will quickly set up a local development environment with member clusters based on the current codebase. -
remote-up-karmada.shThis script will install Karmada to a standalone K8s cluster, this cluster may be real, remote , and even for production. It is worth noting for the connectivity from your client to Karmada API server, it will directly use host network by default, elseexport LOAD_BALANCER=truewith theLoadBalancertype service before the following script. If your want to customize a load balancer service, you may add the annotations at the metadata part of servicekarmada-apiserverin../artifacts/deploy/karmada-apiserver.yamlbefore the installing. The following is an example.
# If you want to use a internal IP in public cloud you need to fill the following annotation,
# For the more annotation settings please read your public cloud docs
annotations:
# Aliyun cloud
#service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "intranet"
# Huawei cloud
#kubernetes.io/elb.autocreate: '{"type":"inner"}'
# Tencent cloud (you need to replace words 'xxxxxxxx')
#service.kubernetes.io/qcloud-loadbalancer-internal-subnetid: subnet-xxxxxxxx
The usage of remote-up-karmada.sh:
# hack/remote-up-karmada.sh <kubeconfig> <context_name>
kubeconfig is your cluster's kubeconfig that you want to install to
context_name is the name of context in 'kubeconfig'
-
deploy-karmada-agent.shThis script will install Karmada Agent to the specific cluster. -
deploy-scheduler-estimator.shThis script will only install Karmada Scheduler Estimator to the specific cluster. Please follow the instruction for more details. -
deploy-agent-and-estimator.shThis script will install Karmada Agent and Karmada Scheduler Estimator to the specific cluster together. If applied, there is no need to use the extradeploy-karmada-agent.shanddeploy-scheduler-estimator.shscript. -
undeploy-karmada.shThis script will uninstall Karmada from the specific cluster. It will uninstall Karmada from your local environment default. If you installed Karmada withremote-up-karmada.sh, please use it like this:hack/undeploy-karmada.sh <KUBECONFIG> <CONTEXT_NAME>, the same parameters as you input at the installing step. -
delete-cluster.shThis script delete a kube cluster by kind, please use it like this:hack/delete-cluster.sh.sh <CLUSTER_NAME> <KUBECONFIG>
For CI pipeline
-
local-up-karmada.shThis script also used for testing. -
run-e2e.shThis script runs e2e test against on Karmada control plane. You should prepare your environment in advance withlocal-up-karmada.sh.
Some internal scripts
These scripts are not intended used by end-users, just for the development
-
deploy-karmada.shUnderlying common implementation forlocal-up-karmada.shandremote-up-karmada.sh. -
util.shAll util functions.