dragonfly/docs/zh-CN/deployment/installation/kubernetes/kustomize.md

2.6 KiB

Kustomize 支持

准备 Kubernetes 集群

如果没有可用的 Kubernetes 集群进行测试, 推荐使用 minikube。只需运行minikube start

构建 Kustomize 模版并部署

git clone https://github.com/dragonflyoss/Dragonfly2.git
kustomize build \
    Dragonfly2/deploy/kustomize/single-cluster-native/overlays/sample | \
    kubectl apply -f -

等待部署成功

等待所有的服务运行成功。

kubectl -n dragonfly-system wait --for=condition=ready --all --timeout=10m pod

Manager 控制台

控制台页面会在 dragonfly-manager.dragonfly-system.svc.cluster.local:8080 展示。

需要绑定 Ingress 可以参考 Helm Charts 配置选项, 或者手动自行创建 Ingress。

控制台功能预览参考文档 console preview

运行时配置

以 Containerd 和 CRI 为例,更多运行时文档

例子为单镜像仓库配置,多镜像仓库配置参考文档

私有仓库:

# explicitly use v2 config format, if already v2, skip the "version = 2"
version = 2
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."harbor.example.com"]
endpoint = ["http://127.0.0.1:65001", "https://harbor.example.com"]

dockerhub 官方仓库:

# explicitly use v2 config format, if already v2, skip the "version = 2"
version = 2
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["http://127.0.0.1:65001", "https://registry-1.docker.io"]

增加配置到 /etc/containerd/config.toml 文件并重启 Containerd。

systemctl restart containerd

使用 Dragonfly

以上步骤执行完毕,可以使用 crictl 命令拉取镜像:

crictl harbor.example.com/library/alpine:latest
crictl pull docker.io/library/alpine:latest

拉取镜像后可以在 dfdaemon 查询日志:

# find pods
kubectl -n dragonfly-system get pod -l component=dfdaemon
# find logs
pod_name=dfdaemon-xxxxx
kubectl -n dragonfly-system exec -it ${pod_name} -- grep "peer task done" /var/log/dragonfly/daemon/core.log

日志输出例子:

{
    "level": "info",
    "ts": "2021-06-28 06:02:30.924",
    "caller": "peer/peertask_stream_callback.go:77",
    "msg": "stream peer task done, cost: 2838ms",
    "peer": "172.17.0.9-1-ed7a32ae-3f18-4095-9f54-6ccfc248b16e",
    "task": "3c658c488fd0868847fab30976c2a079d8fd63df148fb3b53fd1a418015723d7",
    "component": "streamPeerTask"
}