karmada/hack
karmada-bot 3bde19372c
Merge pull request #2109 from RainbowMango/pr_hackowners
Put ikaven1024 onto the hack owner list
2022-07-04 09:25:27 +08:00
..
boilerplate add codegen scripts 2020-11-11 10:22:54 +08:00
tools Merge pull request #2061 from ikaven1024/pr-lifted 2022-06-26 19:22:19 +08:00
.import-aliases update discoveryv1beta1 to discoveryv1 for endpointslice 2021-12-18 17:19:21 +08:00
OWNERS Put ikaven1024 onto the hack owner list 2022-07-02 17:52:48 +08:00
README.md Merge pull request #1146 from leonharetd/master 2021-12-30 19:19:44 +08:00
build.sh compatible with mac os 2022-05-12 21:21:56 +08:00
cherry_pick_pull.sh Orgnize documents about cherry-picks 2022-01-10 11:11:31 +08:00
create-cluster.sh Update kind from v0.11.2 to v0.12.0 2022-03-15 21:01:06 +08:00
delete-cluster.sh optimize installation 2021-05-28 00:34:55 +08:00
deploy-agent-and-estimator.sh repair question template and comment of the script 2021-10-07 15:26:37 +08:00
deploy-karmada-agent.sh fix 1769 karmada-agent build twice when execute local-up-karmada.sh 2022-05-14 21:48:38 +08:00
deploy-karmada-opensearch.sh add opensearch script for a developing purpose 2022-06-14 14:24:30 +08:00
deploy-karmada.sh modify the chart dir 2022-06-10 17:57:18 +08:00
deploy-scheduler-estimator.sh fix comments error in hack 2022-07-03 17:45:09 +08:00
docker.sh fix readonly variable error in `docker.sh` 2022-05-11 17:34:02 +08:00
local-up-karmada.sh upgrade-kind-version 2022-06-30 19:12:04 +08:00
post-run-e2e.sh Creating Loadbalancer Type Service by Installing the Metallb 2022-04-27 15:37:37 +08:00
pre-run-e2e.sh Creating Loadbalancer Type Service by Installing the Metallb 2022-04-27 15:37:37 +08:00
release-helm-chart.sh Improve docs about helm chart 2022-06-10 16:00:08 +08:00
release.sh [refactor] add release to Makefile 2022-05-20 11:45:14 +08:00
remote-up-karmada.sh do proxy setting in China mainland when installing Karmada from source 2022-06-02 11:17:39 +08:00
run-e2e.sh collect pull mode cluster logs 2022-05-20 10:43:11 +08:00
undeploy-karmada-agent.sh Add a script to undeploy karmada agent from a member cluster 2022-05-07 14:31:06 +08:00
undeploy-karmada.sh clear global resources while undeploy cluster 2022-05-04 13:54:27 +08:00
update-all.sh Update Kubernetes dependencies to v1.24.2 2022-06-25 14:36:43 +08:00
update-codegen.sh add karmada-search fabric 2022-05-17 09:24:04 +08:00
update-crdgen.sh modify the chart dir 2022-06-10 17:57:18 +08:00
update-estimator-protobuf.sh add mock client 2022-01-22 22:00:04 +08:00
update-import-aliases.sh Replace go get with go install 2021-11-25 10:34:49 +08:00
update-lifted.sh add update-lifted and verify-lifted 2022-05-12 10:43:35 +08:00
update-swagger-docs.sh Generate API documents for Karmada CRD 2022-03-08 19:52:05 +08:00
update-vendor.sh add go mod tidy to update vendor 2021-10-22 11:11:17 +08:00
util.sh wait cluster status to be ready at exec local-up-karmada.sh 2022-06-25 17:09:23 +08:00
verify-all.sh add update-lifted and verify-lifted 2022-05-12 10:43:35 +08:00
verify-codegen.sh verify crdgen and codegen for examples/customresourceinterpreter/apis directory 2022-05-05 11:25:18 +08:00
verify-crdgen.sh modify the chart dir 2022-06-10 17:57:18 +08:00
verify-estimator-protobuf.sh add protobuf verification script 2021-11-23 16:50:52 +08:00
verify-import-aliases.sh Replace go get with go install 2021-11-25 10:34:49 +08:00
verify-lifted.sh add update-lifted and verify-lifted 2022-05-12 10:43:35 +08:00
verify-staticcheck.sh Update dependencies go to 1.18.3 2022-06-20 14:23:05 +08:00
verify-swagger-docs.sh Add verify script for swagger-docs 2022-03-21 16:56:08 +08:00
verify-vendor.sh add go mod tidy to update vendor 2021-10-22 11:11:17 +08:00
version.sh [fix] add execute permission to hack/version.sh 2022-05-01 13:57:22 +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.

  • 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.