在 Minikube 中运行 Ozone

Requirements
  • minikube
  • kubectl

ozone 发行包中的 kubernetes/examples 文件夹下包含了多种用途的 kubernetes 部署资源文件,这些资源文件默认使用 Docker Hub 上的 apache/ozone 镜像。

使用 minikube 资源集在 minikube 上进行部署:

cd kubernetes/examples/minikube
kubectl apply -f .

使用下面的命令检查结果:

kubectl get pod

注意:kubernetes/exampls/minikube 资源集为 minikube 部署进行了如下优化:

  • 即使你只有一个主机,也可以运行多个 Datanode(在实际的生产集群中,每个物理主机上通常只运行一个 Datanode)
  • Ozone 通过不同的节点端口提供服务

访问服务

现在你可以访问 Ozone 的各个服务,minikube 资源集为每个 web 端点额外定义了一个 NodePort 服务,NodePort 服务可以通过指定端口从任意节点访问:

kubectl get svc
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
datanode     ClusterIP   None            <none>        <none>           27s
kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP          118m
om           ClusterIP   None            <none>        9874/TCP         27s
om-public    NodePort    10.108.48.148   <none>        9874:32649/TCP   27s
s3g          ClusterIP   None            <none>        9878/TCP         27s
s3g-public   NodePort    10.97.133.137   <none>        9878:31880/TCP   27s
scm          ClusterIP   None            <none>        9876/TCP         27s
scm-public   NodePort    10.105.231.28   <none>        9876:32171/TCP   27s

Minikube 为访问任意的 NodePort 服务提供了一个方便的命令:

minikube service s3g-public
# 此命令会在默认浏览器中打开 default/s3g-public 服务的页面...
Next >>