kaadm

command module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 28, 2021 License: Apache-2.0 Imports: 2 Imported by: 0

README

kaadm

karmada cli tool

 ~/kaadm-linux-amd64 # ./kaadm  install -h
Installation options.

Usage:
  kaadm install [flags]

Examples:
kaadm install --master=xxx.xxx.xxx.xxx

Flags:
      --cert-external-ip string                          the external IP of Karmada certificate (e.q 192.168.1.2,172.16.1.2)
      --etcd-data string                                 etcd data path,valid in hostPath mode. (default "/var/lib/karmada-etcd")
      --etcd-image string                                etcd image (default "k8s.gcr.io/etcd:3.5.1-0")
      --etcd-init-image string                           etcd init container image (default "docker.io/alpine:3.14.3")
      --etcd-replicas int32                              etcd replica set, cluster 3,5...singular (default 1)
      --etcd-storage-mode string                         etcd data storage mode(emptyDir,hostPath,PVC). value is PVC, specify --storage-classes-name;value is hostPath,--etcd-replicas is 1 (default "emptyDir")
      --etcd-storage-size string                         etcd data path,valid in pvc mode. (default "1Gi")
  -h, --help                                             help for install
      --karmada-apiserver-image string                   Kubernetes apiserver image (default "k8s.gcr.io/kube-apiserver:v1.20.11")
      --karmada-apiserver-replicas int32                 karmada apiserver replica set (default 1)
      --karmada-controller-manager-image string          karmada controller manager  image (default "swr.ap-southeast-1.myhuaweicloud.com/karmada/karmada-controller-manager:latest")
      --karmada-controller-manager-replicas int32        karmada controller manager replica set (default 1)
  -d, --karmada-data string                              karmada data path. kubeconfig and cert files (default "/var/lib/karmada")
      --karmada-kube-controller-manager-image string     Kubernetes controller manager image (default "k8s.gcr.io/kube-controller-manager:v1.20.11")
      --karmada-kube-controller-manager-replicas int32   karmada kube controller manager replica set (default 1)
      --karmada-scheduler-image string                   karmada scheduler image (default "swr.ap-southeast-1.myhuaweicloud.com/karmada/karmada-scheduler:latest")
      --karmada-scheduler-replicas int32                 karmada scheduler replica set (default 1)
      --karmada-webhook-image string                     karmada webhook image (default "swr.ap-southeast-1.myhuaweicloud.com/karmada/karmada-webhook:latest")
      --karmada-webhook-replicas int32                   karmada webhook replica set (default 1)
      --kubeconfig string                                absolute path to the kubeconfig file (default "/root/.kube/config")
      --master string                                    Karmada master ip. (e.g. --master 192.168.1.2)
  -n, --namespace string                                 Kubernetes namespace (default "karmada-system")
  -p, --port int32                                       Karmada apiserver port (default 5443)
      --storage-classes-name string                      Kubernetes StorageClasses Name
Examples
kaadm install --master=192.168.1.2 --etcd-replicas 3
  • 192.168.1.2 is karmada apiserver node,kaadm finds node by IP and adds karmada.io/master= tag,Binding by label.
  • etcd-replicas=3 Is a 3-node etcd cluster.

If nothing happens, print the following information.

┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
| Push mode                                                                                                                                                           |
|                                                                                                                                                                     |
| Step 1: Member kubernetes join karmada control plane                                                                                                                |
|                                                                                                                                                                     |
| (In karmada)~#  cat ~/.kube/config  | grep current-context | sed 's/: /\n/g'| sed '1d' #MEMBER_CLUSTER_NAME                                                         |
| (In karmada)~# kubectl-karmada  --kubeconfig /var/lib/karmada/karmada-apiserver.config  join ${MEMBER_CLUSTER_NAME} --cluster-kubeconfig=$HOME/.kube/config         |
|                                                                                                                                                                     |
| Step 2: Create member kubernetes kubeconfig secret                                                                                                                  |
|                                                                                                                                                                     |
| (In member kubernetes)~# kubectl create ns karmada-system                                                                                                           |
| (In member kubernetes)~# kubectl create secret generic ${MEMBER_CLUSTER_NAME}-kubeconfig --from-file=${MEMBER_CLUSTER_NAME}-kubeconfig=$HOME/.kube/config  -n karmada-system              |
|                                                                                                                                                                     |
| Step 3: Create karmada scheduler estimator                                                                                                                          |
|                                                                                                                                                                     |
| (In member kubernetes)~# sed -i "s/{{member_cluster_name}}/${MEMBER_CLUSTER_NAME}/g" /var/lib/karmada/karmada-scheduler-estimator.yaml                              |
| (In member kubernetes)~# kubectl create -f  /var/lib/karmada/karmada-scheduler-estimator.yaml                                                                       |
|                                                                                                                                                                     |
| Step 4: Show members of karmada                                                                                                                                     |
|                                                                                                                                                                     |
| (In karmada)~# kubectl  --kubeconfig /var/lib/karmada/karmada-apiserver.config get clusters                                                                         |
|                                                                                                                                                                     |
├── —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —──┤
| Pull mode                                                                                                                                                           |
|                                                                                                                                                                     |
| Step 1:  Send karmada kubeconfig and karmada-agent.yaml to member kubernetes                                                                                        |
|                                                                                                                                                                     |
| (In karmada)~# scp /var/lib/karmada/karmada-apiserver.config /var/lib/karmada/karmada-agent.yaml {member kubernetes}:~                                              |
|                                                                                                                                                                     |
| Step 2:  Create karmada kubeconfig secret                                                                                                                           |
|  Notice:                                                                                                                                                            |
|    Cross-network, need to change the config server address.                                                                                                         |
|                                                                                                                                                                     |
| (In member kubernetes)~#  kubectl create ns karmada-system                                                                                                          |
| (In member kubernetes)~#  kubectl create secret generic karmada-kubeconfig --from-file=karmada-kubeconfig=/root/karmada-apiserver.config  -n karmada-system         |
|                                                                                                                                                                     |
| Step 3: Create karmada agent                                                                                                                                        |
|                                                                                                                                                                     |
| (In member kubernetes)~#  MEMBER_CLUSTER_NAME="demo"                                                                                                                |
| (In member kubernetes)~#  sed -i "s/{member_cluster_name}/${MEMBER_CLUSTER_NAME}/g" karmada-agent.yaml                                                              |
| (In member kubernetes)~#  kubectl create -f karmada-agent.yaml                                                                                                      |
|                                                                                                                                                                     |
| Step 4: Show members of karmada                                                                                                                                     |
|                                                                                                                                                                     |
| (In karmada)~# kubectl  --kubeconfig /var/lib/karmada/karmada-apiserver.config get clusters                                                                         |
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

plan
  • [ √ ] karmada in kubernetes.
  • karmada in linux.

Documentation

Overview

Copyright © 2021 NAME HERE <EMAIL ADDRESS>

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

Directories

Path Synopsis
app
cmd
k8s

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL