karmada/hack
lihanbo 064db4123b add go version check
Signed-off-by: lihanbo <lihanbo2@huawei.com>
2021-10-13 21:02:26 +08:00
..
boilerplate add codegen scripts 2020-11-11 10:22:54 +08:00
tools go mod vendor of proto-gen and grpc 2021-08-31 20:00:32 +08:00
.import-aliases update import-aliases 2021-09-15 15:13:14 +08:00
OWNERS Add hack owners 2021-06-08 11:01:32 +08:00
README.md Quickstart optimization 2021-09-18 17:01:26 +08:00
create-cluster.sh Add docs about working with submariner 2021-09-27 17:44:05 +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 adapt for macos 2021-07-20 13:27:38 +08:00
deploy-karmada.sh Merge pull request #761 from kerthcet/feature/non-root-privilege-installer 2021-10-09 11:24:49 +08:00
deploy-scheduler-estimator.sh deploy scheduler estimator when local up karmada 2021-09-27 20:53:46 +08:00
docker.sh ci: optimize image build (#353) 2021-05-21 10:16:54 +08:00
local-up-karmada.sh add go version check 2021-10-13 21:02:26 +08:00
remote-up-karmada.sh adapt for macos 2021-07-20 13:27:38 +08:00
run-e2e.sh enable log collection for e2e testing 2021-07-12 15:40:25 +08:00
undeploy-karmada.sh Karmada-agent install script support the standalone cluster and some misc 2021-07-02 16:35:05 +08:00
update-all.sh Enable import alises verification 2021-09-17 16:39:43 +08:00
update-codegen.sh Enable multi-version and updates binding to v1alpha2 2021-09-28 17:03:46 +08:00
update-crdgen.sh Deprecate ReplicaSchedulingPolicy API(must promote controller-gen cmd) 2021-09-30 16:29:28 +08:00
update-estimator-protobuf.sh make update-estimator-protobuf.sh executable 2021-09-18 16:29:13 +08:00
update-import-aliases.sh update import-aliases 2021-09-15 15:13:14 +08:00
update-vendor.sh add go version check 2021-10-13 21:02:26 +08:00
util.sh add go version check 2021-10-13 21:02:26 +08:00
verify-all.sh Enable import alises verification 2021-09-17 16:39:43 +08:00
verify-codegen.sh change ci to self-hosted from ubuntu-latest (#225) 2021-03-20 21:14:01 +08:00
verify-crdgen.sh unify the crds used by helm chart and the installation scripts 2021-09-10 17:59:15 +08:00
verify-import-aliases.sh update import-aliases 2021-09-15 15:13:14 +08:00
verify-staticcheck.sh Bump golangci-lint version to v1.42.1 2021-10-12 17:46:32 +08:00
verify-vendor.sh Add vendor verification scripts 2021-08-26 12:14:40 +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 create a load balancer service with an external IP by default, else type export CLUSTER_IP_ONLY=true with the ClusterIP 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, 
  # Fot 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.

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

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.