

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    
    <meta name="description" content="Apache Ozone Documentation">

    <title>Documentation for Apache Ozone</title>

    
    <link href="../css/bootstrap.min.css" rel="stylesheet">

    
    <link href="../css/ozonedoc.css" rel="stylesheet">

  </head>


<body>

  
<nav class="navbar navbar-inverse navbar-fixed-top">
  <div class="container-fluid">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#sidebar" aria-expanded="false" aria-controls="navbar">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a href="../index.html" class="navbar-left ozone-logo">
        <img src="../ozone-logo-small.png"/>
      </a>
      <a class="navbar-brand hidden-xs" href="../index.html">
        Apache Ozone/HDDS documentation
      </a>
      <a class="navbar-brand visible-xs-inline" href="#">Apache Ozone</a>
    </div>
    <div id="navbar" class="navbar-collapse collapse">
      <ul class="nav navbar-nav navbar-right">
        <li><a href="https://github.com/apache/hadoop-ozone">Source</a></li>
        <li><a href="https://hadoop.apache.org">Apache Hadoop</a></li>
        <li><a href="https://apache.org">ASF</a></li>
      </ul>
    </div>
  </div>
</nav>


  <div class="wrapper">
  <div class="container-fluid">
    <div class="row">
      
<div class="col-sm-2 col-md-2 sidebar" id="sidebar">
  <ul class="nav nav-sidebar">
    
    
        
            <li class="">
                
                   <a href="../index.html">
                

                    
                    <span>Overview</span>
                </a>
            </li>
        
    
        
            <li class="">
                
                   <a href="../start.html">
                

                    
                    <span>Getting Started</span>
                </a>
            </li>
        
    
        
            <li class="">
                <a href="../concept.html">
                    
                    <span>Architecture</span>
                </a>
                <ul class="nav">
                    
                        <li class="">
                           
                           <a href="../concept/overview.html">Overview</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="../concept/ozonemanager.html">Ozone Manager</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="../concept/storagecontainermanager.html">Storage Container Manager</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="../concept/containers.html">Containers</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="../concept/datanodes.html">Datanodes</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="../concept/recon.html">Recon</a>
                           
                        </li>
                    
                </ul>
            </li>
        
    
        
            <li class="">
                <a href="../feature.html">
                    
                    <span>Features</span>
                </a>
                <ul class="nav">
                    
                        <li class="">
                           
                           <a href="../feature/ha.html">High Availability</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="../feature/topology.html">Topology awareness</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="../feature/quota.html">Quota in Ozone</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="../feature/recon.html">Recon Server</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="../feature/observability.html">Observability</a>
                           
                        </li>
                    
                </ul>
            </li>
        
    
        
            <li class="">
                <a href="../interface.html">
                    
                    <span>Client Interfaces</span>
                </a>
                <ul class="nav">
                    
                        <li class="">
                           
                           <a href="../interface/ofs.html">Ofs (Hadoop compatible)</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="../interface/o3fs.html">O3fs (Hadoop compatible)</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="../interface/s3.html">S3 Protocol</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="../interface/cli.html">Command Line Interface</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="../interface/reconapi.html">Recon API</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="../interface/javaapi.html">Java API</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="../interface/csi.html">CSI Protocol</a>
                           
                        </li>
                    
                </ul>
            </li>
        
    
        
            <li class="">
                <a href="../security.html">
                    
                    <span>Security</span>
                </a>
                <ul class="nav">
                    
                        <li class="">
                           
                           <a href="../security/secureozone.html">Securing Ozone</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="../security/securingtde.html">Transparent Data Encryption</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="../security/gdpr.html">GDPR in Ozone</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="../security/securingdatanodes.html">Securing Datanodes</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="../security/securingozonehttp.html">Securing HTTP</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="../security/securings3.html">Securing S3</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="../security/securityacls.html">Ozone ACLs</a>
                           
                        </li>
                    
                        <li class="">
                           
                           <a href="../security/securitywithranger.html">Apache Ranger</a>
                           
                        </li>
                    
                </ul>
            </li>
        
    
        
            <li class="">
                
                   <a href="../tools.html">
                

                    
                    <span>Tools</span>
                </a>
            </li>
        
    
        
            <li class="">
                
                   <a href="../recipe.html">
                

                    
                    <span>Recipes</span>
                </a>
            </li>
        
    
    <li><a href="../design.html"><span><b>Design docs</b></span></a></li>
    <li class="visible-xs"><a href="#">References</a>
    <ul class="nav">
        <li><a href="https://github.com/apache/hadoop"><span class="glyphicon glyphicon-new-window" aria-hidden="true"></span> Source</a></li>
        <li><a href="https://hadoop.apache.org"><span class="glyphicon glyphicon-new-window" aria-hidden="true"></span> Apache Hadoop</a></li>
        <li><a href="https://apache.org"><span class="glyphicon glyphicon-new-window" aria-hidden="true"></span> ASF</a></li>
    </ul></li>
  </ul>

</div>

      <div class="col-sm-10 col-sm-offset-2 col-md-10 col-md-offset-2 main">



        <div class="col-md-9">
            <nav aria-label="breadcrumb">
                <ol class="breadcrumb">
                  <li class="breadcrumb-item"><a href="../index.html">Home</a></li>
                  <li class="breadcrumb-item" aria-current="page"><a href="../start.html">Getting Started</a></li>
                  <li class="breadcrumb-item active" aria-current="page">Minikube &amp; Ozone</li>
                </ol>
              </nav>

          

<div class="pull-right">
    
    
    
    
    
    <a href="../zh/start/minikube.html"><span class="label label-success">中文</span></a>
    
    
</div>


          <div class="col-md-9">
            <h1>Minikube &amp; Ozone</h1>

            <!---
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You 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.
-->

<div class="panel panel-default">
    <div class="panel-heading">Requirements</div>
    <div class="panel-body">
        <ul>
<li>Working minikube setup</li>
<li>kubectl</li>
</ul>

    </div>
</div>

<p><code>kubernetes/examples</code> folder of the ozone distribution contains kubernetes deployment resource files for multiple use cases. By default the kubernetes resource files are configured to use <code>apache/ozone</code> image from the dockerhub.</p>
<p>To deploy it to minikube use the minikube configuration set:</p>
<pre><code>cd kubernetes/examples/minikube
kubectl apply -f .
</code></pre><p>And you can check the results with</p>
<pre><code>kubectl get pod
</code></pre><p>Note: the kubernetes/examples/minikube resource set is optimized for minikube usage:</p>
<ul>
<li>You can have multiple datanodes even if you have only one host (in a real production cluster usually you need one datanode per physical host)</li>
<li>The services are published with node port</li>
</ul>
<h2 id="access-the-services">Access the services</h2>
<p>Now you can access any of the services. For each web endpoint an additional NodeType service is defined in the minikube k8s resource set. NodeType services are available via a generated port of any of the host nodes:</p>
<div class="highlight"><pre style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">kubectl get svc
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT<span style="color:#f92672">(</span>S<span style="color:#f92672">)</span>          AGE
datanode     ClusterIP   None            &lt;none&gt;        &lt;none&gt;           27s
kubernetes   ClusterIP   10.96.0.1       &lt;none&gt;        443/TCP          118m
om           ClusterIP   None            &lt;none&gt;        9874/TCP         27s
om-public    NodePort    10.108.48.148   &lt;none&gt;        9874:32649/TCP   27s
s3g          ClusterIP   None            &lt;none&gt;        9878/TCP         27s
s3g-public   NodePort    10.97.133.137   &lt;none&gt;        9878:31880/TCP   27s
scm          ClusterIP   None            &lt;none&gt;        9876/TCP         27s
scm-public   NodePort    10.105.231.28   &lt;none&gt;        9876:32171/TCP   27s
</code></pre></div><p>Minikube contains a convenience command to access any of the NodePort services:</p>
<pre><code>minikube service s3g-public
Opening kubernetes service default/s3g-public in default browser...
</code></pre>

          
          <a class="btn  btn-success btn-lg" href="../start/kubernetes.html">Next >></a>
          
          </div>

        </div>
      </div>
    </div>
  </div>
    <div class="push"></div>
  </div>

  

<footer class="footer">
  <div class="container">
    <span class="small text-muted">
      Version: 1.1.0, Last Modified: September 16, 2019 <a class="hide-child link primary-color" href="https://github.com/apache/ozone/commit/b0859b49c4a196bbdc16605f38ff51a59968b718">b0859b49c</a>
    </span>
  </div>
</footer>



<script src="../js/jquery-3.5.1.min.js"></script>
<script src="../js/ozonedoc.js"></script>
<script src="../js/bootstrap.min.js"></script>


</body>

</html>