0.准备工作
安装 clash:https://www.bilibili.com/read/cv28866729/。
下载 kind:wget https://github.com/kubernetes-sigs/kind/releases/download/v0.17.0/kind-linux-amd64
。
安装 kind 镜像:docker pull kindest/node:v1.25.3
。
创建一个 kind 集群:kind create cluster --name $CLUSTER_NAME
。
1.karmada 必须运行在一个 k8s 集群中
2.## kind 命令的使用
创建集群:kind create cluster –name $CLUSTER_NAME
可以使用如下命令来切换集群:
kubectl config use-context kind-host
记得加 kind 前缀
3.如果 kind 所创建的 k8s 集群没有相应镜像
直接使用 kind load 导入。
kind load docker-image \
karmada/karmada-controller-manager:v1.8.1 \
karmada/karmada-aggregated-apiserver:v1.8.1 \
karmada/karmada-webhook:v1.8.1 \
karmada/karmada-scheduler:v1.8.1 \
alpine:3.18.5 \
registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.9-0 \
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.25.4 \
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.25.4 \
--name host
4.学会使用 kubectl 查看 bug
5.可以单独为 git 设置代理
git config --global http.proxy 'http://127.0.0.1:7890'
git config --global https.proxy 'http://127.0.0.1:7890'
git config --global --get http.proxy
git config --global --get https.proxy
git config --global --unset http.proxy
git config --global --unset https.proxy
6.有时候出现 GET/POST http:// 类错误时首先考虑是不是代理问题
unset http_proxy
unset https_proxy
6.5.创建 karmada 集群使用命令 karmadactl init –kube-image-mirror-country=cn
7.karmada 查看集群 kubectl –kubeconfig /etc/karmada/karmada-apiserver.config get clusters
7.5.集群通信问题
使用 kind 将集群搭建好之后,需要修改 kubeconfig 的 apiendpoint 配置,改成 kind 的网段 IP(以 172.18 开头),重新进行 join。
kind 网段 IP 可以通过 kubectl get node -o wide 查询。
需要修改 --cluster-kubeconfig=/root/.kube/config
中的 server
参数,将其修改为相应控制节点的INTERNAL-IP:6443。
只需要修改 slave 的 server 就可以了。
8.向 karmada 中添加/删除待管理的集群
添加:karmadactl join slave-1 --kubeconfig=/etc/karmada/karmada-apiserver.config --cluster-kubeconfig=/root/.kube/config --cluster-context=kind-slave-1
。
删除:karmadactl unjoin slave-1 --kubeconfig=/etc/karmada/karmada-apiserver.config --cluster-kubeconfig=/root/.kube/config --cluster-context=kind-slave-1
。
下面是参数解释:
- –kubeconfig:Karmada apiserver 配置文件。
- –cluster-kubeconfig:需要注册到 Karmada 中的集群。(kind 会自动生成)
- –cluster-context:若是配置文件中有多个集群信息,则需要指定 context 名称。
9.什么是 API EndPoint
这个是 k8s APIServer 的地址,一般是 INTERNAL-IP:6443。