wip: Writing elasticsearch storageClass blog

This commit is contained in:
Jean-Gabriel Gill-Couture 2023-06-06 07:58:43 -04:00
parent fc13368cb8
commit 7d7de9e3b4
5 changed files with 46 additions and 10 deletions

View File

@ -49,7 +49,7 @@ style-file = "target/style/main.css"
# Optional. Env: LEPTOS_ASSETS_DIR.
assets-dir = "assets"
# The IP and port (ex: 127.0.0.1:3000) where the server serves the content. Use it in your server setup.
site-addr = "127.0.0.1:3000"
site-addr = "0.0.0.0:3000"
# The port to use for automatic reload monitoring
reload-port = 3001
# [Optional] Command to use when running end2end tests. It will run in the end2end dir.

View File

@ -23,11 +23,12 @@ pub fn App(cx: Scope) -> impl IntoView {
// content for this welcome page
<Router>
<main class="text-white bg-indigo-950 min-h-screen ">
<div class="max-w-3xl container mx-auto">
<div class="max-w-3xl container mx-auto p-4 md:p-0">
<nav class="py-4 flex space-x-4">
<a href="/">"Home"</a>
<a href="/blog">"Blog"</a>
</nav>
<hr />
<Routes>
<Route path="" view=|cx| view! { cx, <HomePage/> }/>
<Route path="/why-micro-datacenters" view=|cx| view! { cx, <WhyMicroDatacenters/> }/>

View File

@ -3,13 +3,46 @@ use leptos_meta::*;
#[component]
pub fn Blog(cx: Scope) -> impl IntoView {
let es_health_green = concat!(
"{",
"kubectl exec -n <namespace> <elasticsearch-pod> -it -- curl localhost:9200/_cluster/health?pretty",
r#""cluster_name" : "elastic","#,
r#""status" : "green", # <<<<< Make sure this is green <<<<<"#,
r#""timed_out" : false,"#,
r#""number_of_nodes" : 7,"#,
r#""number_of_data_nodes" : 2,"#,
r#""active_primary_shards" : 202,"#,
r#""active_shards" : 404,"#,
r#""relocating_shards" : 0,"#,
r#""initializing_shards" : 0,"#,
r#""unassigned_shards" : 0,"#,
r#""delayed_unassigned_shards" : 0,"#,
r#""number_of_pending_tasks" : 0,"#,
r#""number_of_in_flight_fetch" : 0,"#,
r#""task_max_waiting_in_queue_millis" : 0,"#,
r#""active_shards_percent_as_number" : 100.0"#,
"}",
);
view! { cx,
<Title text="Blog - NationTech - Unconventional team for extraordinary challenges"/>
<div class="text-white bg-indigo-950 min-h-screen">
<div class="flex space-y-4 flex-col max-w-3xl container mx-auto">
<h1 class="text-6xl text-orange-400 font-extrabold pt-12">"Blog"</h1>
<h2 class="text-3xl">"Modifying storageClass of kubernetes bitnami ElasticSearch cluster without downtime"</h2>
<p class="text-xl">"Thanks Percona"</p>
<p class="text-lg">"Thanks Percona for this excellent article "
<a class="underline text-orange-400" href="https://www.percona.com/blog/change-storage-class-on-kubernetes-on-the-fly/">"Change Storage Class on Kubernetes on the Fly."</a>
</p>
<p>"It inspired most of this procedure. Here is the summary"
<ol class="list-decimal list-inside">
<li class="pb-2">"Delete the statefulset with "<code class="inline-block">"kubectl delete -n <namespace> statefulset --cascade=orphan <statefulset_name>"</code>" the "<code class="">"orphan"</code>" option is key here and will allow Kubernetes to delete the statefulset without deleting the pods."</li>
<li class="pb-2">"Change the storage class in the helm chart to the new one"</li>
<li class="pb-2">"Upgrade the deployment with "<code>"helm upgrade"</code></li>
<li class="pb-2">"Make sure your cluster is green "
<pre>{es_health_green}</pre>
</li>
<li class="pb-2">"Make sure your cluster is green "<code>"kubectl exec -n <namespace> <elasticsearch-pod> -it -- curl localhost:9200/_cluster/health?pretty"</code></li>
</ol>
</p>
</div>
</div>
}

View File

@ -10,11 +10,11 @@ pub fn HomePage(cx: Scope) -> impl IntoView {
<div class="flex space-y-4 flex-col max-w-3xl container mx-auto">
<h1 class="text-6xl text-orange-400 font-extrabold pt-8">"NationTech"</h1>
<h2 class="text-3xl">"Unconventional team for extraordinary challenges"</h2>
<p class="text-xl">"We love working with small teams to tackle hard tasks. We are passionate about maximizing the value we bring to the company and project, while taking care of the people we work with."</p>
<p class="text-xl">"We are experienced in a wide array of technologies, projects and companies."</p>
<p class="text-xl">"We are eternal learners that feel a visceral need to deeply understand a problem or subject once it is on their plate."</p>
<p class="text-xl">"We don't cheap out, we always give our all, we always try to balance all the factors to find the best possible solution to any situation."</p>
<p class="text-xl">"The status quo does not exist, we always improve, automate, look for exponential gains across the stack."</p>
<p class="text-lg">"We love working with small teams to tackle hard tasks. We are passionate about maximizing the value we bring to the company and project, while taking care of the people we work with."</p>
<p class="">"We are experienced in a wide array of technologies, projects and companies."</p>
<p class="text-lg">"We are eternal learners that feel a visceral need to deeply understand a problem or subject once it is on their plate."</p>
<p class="text-lg">"We don't cheap out, we always give our all, we always try to balance all the factors to find the best possible solution to any situation."</p>
<p class="text-lg">"The status quo does not exist, we always improve, automate, look for exponential gains across the stack."</p>
</div>
</div>
}

View File

@ -205,12 +205,14 @@ pub fn WhyMicroDatacenters(cx: Scope) -> impl IntoView {
</div>
<div class="flex flex-col justify-center pl-40 pr-40 max-[1460px]:pl-16 max-[1460px]:pr-16">
<img src="/img/water-icon.png" class="transform mx-auto"/>
<h4 class="font-Lato mx-auto text-center w-64 p-4 text-blue-950 text-3xl font-bold"> "Consommation d'eau démesurrée"
<h4 class="font-Lato mx-auto text-center w-64 p-4 text-blue-950 text-3xl font-bold">
"Consommation d'eau démesurrée"
</h4>
</div>
<div class="flex flex-col justify-center pl-40 pr-40 max-[1460px]:pl-16 max-[1460px]:pr-16">
<img src="/img/tree-icon.png" class="transform mx-auto"/>
<h4 class="font-Lato mx-auto text-center w-64 p-4 text-blue-950 text-3xl font-bold"> "Impact environnemental majeur"
<h4 class="font-Lato mx-auto text-center w-64 p-4 text-blue-950 text-3xl font-bold">
"Impact environnemental majeur"
</h4>
</div>
</div>