Skip to content

Commit

Permalink
Deployed c7dfe7837 to latest in docs/rook with MkDocs 1.6.1 and mike …
Browse files Browse the repository at this point in the history
…2.1.3
  • Loading branch information
Rook committed Oct 25, 2024
1 parent 37d6375 commit c6cce69
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 16 deletions.
2 changes: 1 addition & 1 deletion docs/rook/latest/CRDs/specification/index.html

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@
<a id=__codelineno-5-14 name=__codelineno-5-14></a><span class=w> </span><span class=nt>instances</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
</code></pre></div></td></tr></table></div> <p>Create the object store:</p> <div class=highlight><table class=highlighttable><tr><td class=linenos><div class=linenodiv><pre><span></span><span class=normal><a href=#__codelineno-6-1>1</a></span></pre></div></td><td class=code><div><pre><span></span><code><a id=__codelineno-6-1 name=__codelineno-6-1></a><span class=go>kubectl create -f object-a.yaml</span>
</code></pre></div></td></tr></table></div> <p>To confirm the object store is configured, wait for the RGW pod(s) to start:</p> <div class=highlight><table class=highlighttable><tr><td class=linenos><div class=linenodiv><pre><span></span><span class=normal><a href=#__codelineno-7-1>1</a></span></pre></div></td><td class=code><div><pre><span></span><code><a id=__codelineno-7-1 name=__codelineno-7-1></a><span class=go>kubectl -n rook-ceph get pod -l rgw=store-a</span>
</code></pre></div></td></tr></table></div> <p>Additional object stores can be created based on the same shared pools by simply changing the <code>name</code> of the CephObjectStore. In the example manifests folder, two object store examples are provided: <code>object-a.yaml</code> and <code>object-b.yaml</code>.</p> <p>To consume the object store, continue below in the section to <a href=#create-a-bucket>Create a bucket</a>. Modify the default example object store name from <code>my-store</code> to the alternate name of the object store such as <code>store-a</code> in this example.</p> <h3 id=create-local-object-stores-with-pool-placements>Create Local Object Store(s) with pool placements<a class=headerlink href=#create-local-object-stores-with-pool-placements title="Permanent link">&para;</a></h3> <div class="admonition attention"> <p class=admonition-title>Attention</p> <p>This feature is experimental.</p> </div> <p>This section contains a guide on how to configure <a href=https://docs.ceph.com/en/reef/radosgw/placement/ >RGW's pool placement and storage classes</a> with Rook.</p> <p>Object Storage API allows users to override where bucket data will be stored during bucket creation. With <code>&lt;LocationConstraint&gt;</code> parameter in S3 API and <code>X-Storage-Policy</code> header in SWIFT. Similarly, users can override where object data will be stored by setting <code>X-Amz-Storage-Class</code> and <code>X-Object-Storage-Class</code> during object creation.</p> <p>To enable this feature, configure <code>poolPlacements</code> representing a list of possible bucket data locations. Each <code>poolPlacement</code> must have:</p> <ul> <li>a <strong>unique</strong> <code>name</code> to refer to it in <code>&lt;LocationConstraint&gt;</code> or <code>X-Storage-Policy</code>. A placement with reserved name <code>default</code> will be used by default if no location constraint is provided.</li> <li><code>dataPoolName</code> and <code>metadataPoolName</code> representing object data and metadata locations. In Rook, these data locations are backed by <code>CephBlockPool</code>. <code>poolPlacements</code> and <code>storageClasses</code> specs refer pools by name. This means that all pools should be defined in advance. Similarly to <a href=#create-local-object-stores-with-shared-pools>sharedPools</a>, the same pool can be reused across multiple ObjectStores and/or poolPlacements/storageClasses because of RADOS namespaces. Here, each pool will be namespaced with <code>&lt;object store name&gt;.&lt;placement name&gt;.&lt;pool type&gt;</code> key.</li> <li><strong>optional</strong> <code>dataNonECPoolName</code> - extra pool for data that cannot use erasure coding (ex: multi-part uploads). If not set, <code>metadataPoolName</code> will be used.</li> <li><strong>optional</strong> list of placement <code>storageClasses</code>. Classes defined per placement, which means that even classes of <code>default</code> placement will be available only within this placement and not others. Each placement will automatically have default storage class named <code>STANDARD</code>. <code>STANDARD</code> class always points to placement <code>dataPoolName</code> and cannot be removed or redefined. Each storage class must have:<ul> <li><code>name</code> (unique within placement). RGW allows arbitrary name for StorageClasses, however some clients/libs insist on AWS names so it is recommended to use one of the valid <code>x-amz-storage-class</code> values for better compatibility: <code>STANDARD | REDUCED_REDUNDANCY | STANDARD_IA | ONEZONE_IA | INTELLIGENT_TIERING | GLACIER | DEEP_ARCHIVE | OUTPOSTS | GLACIER_IR | SNOW | EXPRESS_ONEZONE</code>. See <a href=https://aws.amazon.com/s3/storage-classes/ >AWS docs</a>.</li> <li><code>dataPoolName</code> - overrides placement data pool when this class is selected by user.</li> </ul> </li> </ul> <p>Example: Configure <code>CephObjectStore</code> with <code>default</code> placement pointing to <code>us</code> pools and placement <code>europe</code> pointing to pools in corresponding geographies. These geographical locations are only an example. Placement name can be arbitrary and could reflect the backing pool's replication factor, device class, or failure domain. This example also defines storage class <code>REDUCED_REDUNDANCY</code> for each placement.</p> <div class=highlight><table class=highlighttable><tr><td class=linenos><div class=linenodiv><pre><span></span><span class=normal><a href=#__codelineno-8-1> 1</a></span>
</code></pre></div></td></tr></table></div> <p>Additional object stores can be created based on the same shared pools by simply changing the <code>name</code> of the CephObjectStore. In the example manifests folder, two object store examples are provided: <code>object-a.yaml</code> and <code>object-b.yaml</code>.</p> <p>To consume the object store, continue below in the section to <a href=#create-a-bucket>Create a bucket</a>. Modify the default example object store name from <code>my-store</code> to the alternate name of the object store such as <code>store-a</code> in this example.</p> <h3 id=create-local-object-stores-with-pool-placements>Create Local Object Store(s) with pool placements<a class=headerlink href=#create-local-object-stores-with-pool-placements title="Permanent link">&para;</a></h3> <div class="admonition attention"> <p class=admonition-title>Attention</p> <p>This feature is experimental.</p> </div> <p>This section contains a guide on how to configure <a href=https://docs.ceph.com/en/reef/radosgw/placement/ >RGW's pool placement and storage classes</a> with Rook.</p> <p>Object Storage API allows users to override where bucket data will be stored during bucket creation. With <code>&lt;LocationConstraint&gt;</code> parameter in S3 API and <code>X-Storage-Policy</code> header in SWIFT. Similarly, users can override where object data will be stored by setting <code>X-Amz-Storage-Class</code> and <code>X-Object-Storage-Class</code> during object creation.</p> <p>To enable this feature, configure <code>poolPlacements</code> representing a list of possible bucket data locations. Each <code>poolPlacement</code> must have:</p> <ul> <li>a <strong>unique</strong> <code>name</code> to refer to it in <code>&lt;LocationConstraint&gt;</code> or <code>X-Storage-Policy</code>. Name <code>default-placement</code> is reserved and can be used <strong>only</strong> if placement also marked as <code>default</code>.</li> <li><strong>optional</strong> <code>default</code> flag to use given placement by default, meaning that it will be used if no location constraint is provided. Only one placement in the list can be marked as default.</li> <li><code>dataPoolName</code> and <code>metadataPoolName</code> representing object data and metadata locations. In Rook, these data locations are backed by <code>CephBlockPool</code>. <code>poolPlacements</code> and <code>storageClasses</code> specs refer pools by name. This means that all pools should be defined in advance. Similarly to <a href=#create-local-object-stores-with-shared-pools>sharedPools</a>, the same pool can be reused across multiple ObjectStores and/or poolPlacements/storageClasses because of RADOS namespaces. Here, each pool will be namespaced with <code>&lt;object store name&gt;.&lt;placement name&gt;.&lt;pool type&gt;</code> key.</li> <li><strong>optional</strong> <code>dataNonECPoolName</code> - extra pool for data that cannot use erasure coding (ex: multi-part uploads). If not set, <code>metadataPoolName</code> will be used.</li> <li><strong>optional</strong> list of placement <code>storageClasses</code>. Classes defined per placement, which means that even classes of <code>default</code> placement will be available only within this placement and not others. Each placement will automatically have default storage class named <code>STANDARD</code>. <code>STANDARD</code> class always points to placement <code>dataPoolName</code> and cannot be removed or redefined. Each storage class must have:<ul> <li><code>name</code> (unique within placement). RGW allows arbitrary name for StorageClasses, however some clients/libs insist on AWS names so it is recommended to use one of the valid <code>x-amz-storage-class</code> values for better compatibility: <code>STANDARD | REDUCED_REDUNDANCY | STANDARD_IA | ONEZONE_IA | INTELLIGENT_TIERING | GLACIER | DEEP_ARCHIVE | OUTPOSTS | GLACIER_IR | SNOW | EXPRESS_ONEZONE</code>. See <a href=https://aws.amazon.com/s3/storage-classes/ >AWS docs</a>.</li> <li><code>dataPoolName</code> - overrides placement data pool when this class is selected by user.</li> </ul> </li> </ul> <p>Example: Configure <code>CephObjectStore</code> with <code>default</code> placement <code>us</code> pools and placement <code>europe</code> pointing to pools in corresponding geographies. These geographical locations are only an example. Placement name can be arbitrary and could reflect the backing pool's replication factor, device class, or failure domain. This example also defines storage class <code>REDUCED_REDUNDANCY</code> for each placement.</p> <div class=highlight><table class=highlighttable><tr><td class=linenos><div class=linenodiv><pre><span></span><span class=normal><a href=#__codelineno-8-1> 1</a></span>
<span class=normal><a href=#__codelineno-8-2> 2</a></span>
<span class=normal><a href=#__codelineno-8-3> 3</a></span>
<span class=normal><a href=#__codelineno-8-4> 4</a></span>
Expand All @@ -176,7 +176,8 @@
<span class=normal><a href=#__codelineno-8-20>20</a></span>
<span class=normal><a href=#__codelineno-8-21>21</a></span>
<span class=normal><a href=#__codelineno-8-22>22</a></span>
<span class=normal><a href=#__codelineno-8-23>23</a></span></pre></div></td><td class=code><div><pre><span></span><code><a id=__codelineno-8-1 name=__codelineno-8-1></a><span class=nt>apiVersion</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">ceph.rook.io/v1</span>
<span class=normal><a href=#__codelineno-8-23>23</a></span>
<span class=normal><a href=#__codelineno-8-24>24</a></span></pre></div></td><td class=code><div><pre><span></span><code><a id=__codelineno-8-1 name=__codelineno-8-1></a><span class=nt>apiVersion</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">ceph.rook.io/v1</span>
<a id=__codelineno-8-2 name=__codelineno-8-2></a><span class=nt>kind</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">CephObjectStore</span>
<a id=__codelineno-8-3 name=__codelineno-8-3></a><span class=nt>metadata</span><span class=p>:</span>
<a id=__codelineno-8-4 name=__codelineno-8-4></a><span class=w> </span><span class=nt>name</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">my-store</span>
Expand All @@ -187,18 +188,19 @@
<a id=__codelineno-8-9 name=__codelineno-8-9></a><span class=w> </span><span class=nt>instances</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
<a id=__codelineno-8-10 name=__codelineno-8-10></a><span class=w> </span><span class=nt>sharedPools</span><span class=p>:</span>
<a id=__codelineno-8-11 name=__codelineno-8-11></a><span class=w> </span><span class=nt>poolPlacements</span><span class=p>:</span>
<a id=__codelineno-8-12 name=__codelineno-8-12></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=nt>name</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">default</span>
<a id=__codelineno-8-13 name=__codelineno-8-13></a><span class=w> </span><span class=nt>metadataPoolName</span><span class=p>:</span><span class=w> </span><span class=s>&quot;us-data-pool&quot;</span>
<a id=__codelineno-8-14 name=__codelineno-8-14></a><span class=w> </span><span class=nt>dataPoolName</span><span class=p>:</span><span class=w> </span><span class=s>&quot;us-meta-pool&quot;</span>
<a id=__codelineno-8-15 name=__codelineno-8-15></a><span class=w> </span><span class=nt>storageClasses</span><span class=p>:</span>
<a id=__codelineno-8-16 name=__codelineno-8-16></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=nt>name</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">REDUCED_REDUNDANCY</span>
<a id=__codelineno-8-17 name=__codelineno-8-17></a><span class=w> </span><span class=nt>dataPoolName</span><span class=p>:</span><span class=w> </span><span class=s>&quot;us-reduced-pool&quot;</span>
<a id=__codelineno-8-18 name=__codelineno-8-18></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=nt>name</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">europe</span>
<a id=__codelineno-8-19 name=__codelineno-8-19></a><span class=w> </span><span class=nt>metadataPoolName</span><span class=p>:</span><span class=w> </span><span class=s>&quot;eu-meta-pool&quot;</span>
<a id=__codelineno-8-20 name=__codelineno-8-20></a><span class=w> </span><span class=nt>dataPoolName</span><span class=p>:</span><span class=w> </span><span class=s>&quot;eu-data-pool&quot;</span>
<a id=__codelineno-8-21 name=__codelineno-8-21></a><span class=w> </span><span class=nt>storageClasses</span><span class=p>:</span>
<a id=__codelineno-8-22 name=__codelineno-8-22></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=nt>name</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">REDUCED_REDUNDANCY</span>
<a id=__codelineno-8-23 name=__codelineno-8-23></a><span class=w> </span><span class=nt>dataPoolName</span><span class=p>:</span><span class=w> </span><span class=s>&quot;eu-reduced-pool&quot;</span>
<a id=__codelineno-8-12 name=__codelineno-8-12></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=nt>name</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">us</span>
<a id=__codelineno-8-13 name=__codelineno-8-13></a><span class=w> </span><span class=nt>default</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
<a id=__codelineno-8-14 name=__codelineno-8-14></a><span class=w> </span><span class=nt>metadataPoolName</span><span class=p>:</span><span class=w> </span><span class=s>&quot;us-data-pool&quot;</span>
<a id=__codelineno-8-15 name=__codelineno-8-15></a><span class=w> </span><span class=nt>dataPoolName</span><span class=p>:</span><span class=w> </span><span class=s>&quot;us-meta-pool&quot;</span>
<a id=__codelineno-8-16 name=__codelineno-8-16></a><span class=w> </span><span class=nt>storageClasses</span><span class=p>:</span>
<a id=__codelineno-8-17 name=__codelineno-8-17></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=nt>name</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">REDUCED_REDUNDANCY</span>
<a id=__codelineno-8-18 name=__codelineno-8-18></a><span class=w> </span><span class=nt>dataPoolName</span><span class=p>:</span><span class=w> </span><span class=s>&quot;us-reduced-pool&quot;</span>
<a id=__codelineno-8-19 name=__codelineno-8-19></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=nt>name</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">europe</span>
<a id=__codelineno-8-20 name=__codelineno-8-20></a><span class=w> </span><span class=nt>metadataPoolName</span><span class=p>:</span><span class=w> </span><span class=s>&quot;eu-meta-pool&quot;</span>
<a id=__codelineno-8-21 name=__codelineno-8-21></a><span class=w> </span><span class=nt>dataPoolName</span><span class=p>:</span><span class=w> </span><span class=s>&quot;eu-data-pool&quot;</span>
<a id=__codelineno-8-22 name=__codelineno-8-22></a><span class=w> </span><span class=nt>storageClasses</span><span class=p>:</span>
<a id=__codelineno-8-23 name=__codelineno-8-23></a><span class=w> </span><span class="p p-Indicator">-</span><span class=w> </span><span class=nt>name</span><span class=p>:</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">REDUCED_REDUNDANCY</span>
<a id=__codelineno-8-24 name=__codelineno-8-24></a><span class=w> </span><span class=nt>dataPoolName</span><span class=p>:</span><span class=w> </span><span class=s>&quot;eu-reduced-pool&quot;</span>
</code></pre></div></td></tr></table></div> <p>S3 clients can direct objects into the pools defined in the above. The example below uses the <a href=https://github.com/peak/s5cmd>s5cmd</a> CLI tool which is pre-installed in the toolbox pod:</p> <div class=highlight><table class=highlighttable><tr><td class=linenos><div class=linenodiv><pre><span></span><span class=normal><a href=#__codelineno-9-1> 1</a></span>
<span class=normal><a href=#__codelineno-9-2> 2</a></span>
<span class=normal><a href=#__codelineno-9-3> 3</a></span>
Expand Down
2 changes: 1 addition & 1 deletion docs/rook/latest/search/search_index.json

Large diffs are not rendered by default.

0 comments on commit c6cce69

Please sign in to comment.