karmada/hack
zhzhuang-zju e8aa2ff651 add script to deploy karmada-operator and karmada instance
Signed-off-by: zhzhuang-zju <m17799853869@163.com>
2024-10-24 16:00:01 +08:00
..
boilerplate add license for auto-generated files 2023-12-05 14:20:26 +08:00
tools add commandGroup annotation to ctl command 2024-09-04 16:47:38 +08:00
.import-aliases Introduce a new API named WorkloadRebalancer to support rescheduling. 2024-04-23 10:34:11 +08:00
OWNERS nominate infra owners 2024-05-24 11:44:35 +08:00
README.md Add note about local-down-karmada.sh script to hack README 2024-08-16 22:36:36 +07:00
build.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
cherry_pick_pull.sh Fix broken links in cherry-pick script 2022-08-25 10:22:13 +08:00
cli-testing-environment.sh chore: remove unuse ghaction step and collect logs of karmadactl test. 2024-08-19 05:00:43 +00:00
create-cluster.sh create cluster script support MacOS 2023-11-24 15:00:30 +08:00
delete-cluster.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
deploy-agent-and-estimator.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
deploy-k8s-metrics-server.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
deploy-karmada-agent.sh standardize the naming of karmada config in local up method 2024-10-15 17:35:38 +08:00
deploy-karmada-by-operator.sh add script to deploy karmada-operator and karmada instance 2024-10-24 16:00:01 +08:00
deploy-karmada-opensearch.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
deploy-karmada-operator.sh add script to deploy karmada-operator and karmada instance 2024-10-24 16:00:01 +08:00
deploy-karmada.sh add script to deploy karmada-operator and karmada instance 2024-10-24 16:00:01 +08:00
deploy-metrics-adapter.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
deploy-scheduler-estimator.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
docker.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
install-cli.sh fix typo 2023-12-17 16:12:03 +08:00
local-down-karmada.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
local-up-karmada-by-operator.sh add script to deploy karmada-operator and karmada instance 2024-10-24 16:00:01 +08:00
local-up-karmada.sh supports specifying whether need making local images in local up installation 2024-09-29 11:20:39 +08:00
package-helm-chart.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
post-run-e2e.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
pre-run-e2e.sh Fix the issue that CustomResourceDefinition workloads.workload.example.io is invalid: metadata.annotations: Too long: must have at most 262144 bytes 2024-05-06 16:13:07 +08:00
release.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
remote-up-karmada.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
run-e2e.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
scan-image-vuln.sh chore/update-trivy-version-v0.56.1 2024-10-20 10:25:53 +05:30
undeploy-karmada-agent.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
undeploy-karmada.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
update-all.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
update-codegen.sh adopt deepcopy-gen breaking changes 2024-07-13 16:48:18 +08:00
update-crdgen.sh Bump controller-gen version from v0.13.0 to v0.14.0 2024-04-26 19:06:57 -04:00
update-estimator-protobuf.sh adopt deepcopy-gen breaking changes 2024-07-13 16:48:18 +08:00
update-gofmt.sh Add gofmt script 2022-11-25 16:56:05 +08:00
update-import-aliases.sh Fix mockgen generated files not group imports issue 2024-07-08 11:12:16 +08:00
update-lifted.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
update-mocks.sh Fix mockgen generated files not group imports issue 2024-07-08 11:12:16 +08:00
update-swagger-docs.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
update-vendor.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
util.sh add script to deploy karmada-operator and karmada instance 2024-10-24 16:00:01 +08:00
verify-all.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
verify-codegen.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
verify-crdgen.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
verify-estimator-protobuf.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
verify-gofmt.sh Add gofmt script 2022-11-25 16:56:05 +08:00
verify-import-aliases.sh Optimize the display of the hack/verify-import-aliases.sh 2024-02-06 17:11:51 +08:00
verify-license.sh [MVP] add resourcequota plugin in scheduler-estimator: create framework for scheulder-estimator (#4534) 2024-01-19 22:14:41 +08:00
verify-lifted.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
verify-mocks.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
verify-staticcheck.sh Enable deprecation check, which was disabled during bump kubernetes to v1.27 2024-05-28 16:01:02 +08:00
verify-swagger-docs.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
verify-vendor.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00
version.sh feat: add license and verify license for code file 2023-11-16 11:11:21 +08:00

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.sh This script will quickly set up a local development environment with member clusters based on the current codebase.

  • local-down-karmada.sh This script will clean up the whole local deployment environment installed by the previous local-up-karmada.sh script.

  • remote-up-karmada.sh This 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, else export LOAD_BALANCER=true with the LoadBalancer type service before the following script. If your want to customize a load balancer service, you may add the annotations at the metadata part of service karmada-apiserver in ../artifacts/deploy/karmada-apiserver.yaml before 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.sh This script will install Karmada Agent to the specific cluster.

  • deploy-scheduler-estimator.sh This script will only install Karmada Scheduler Estimator to the specific cluster. Please follow the instruction for more details.

  • deploy-agent-and-estimator.sh This script will install Karmada Agent and Karmada Scheduler Estimator to the specific cluster together. If applied, there is no need to use the extra deploy-karmada-agent.sh and deploy-scheduler-estimator.sh script.

  • undeploy-karmada.sh This script will uninstall Karmada from the specific cluster. It will uninstall Karmada from your local environment default. If you installed Karmada with remote-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.sh This 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.sh This script also used for testing.

  • run-e2e.sh This script runs e2e test against on Karmada control plane. You should prepare your environment in advance with local-up-karmada.sh.

Some internal scripts

These scripts are not intended used by end-users, just for the development

  • deploy-karmada.sh Underlying common implementation for local-up-karmada.sh and remote-up-karmada.sh.

  • util.sh All util functions.