<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>User Guide on </title>
		<link>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/</link>
		<description>Recent content in User Guide on </description>
		<generator>Hugo</generator>
		<language>en</language>
		
		
		
		
			<lastBuildDate>Wed, 01 Jul 2026 08:56:32 +0900</lastBuildDate>
		
			<atom:link href="https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Kubernetes Materials</title>
				<link>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/whatsk8s/</link>
				<pubDate>Mon, 20 Oct 2025 10:22:37 +0900</pubDate>
				<guid>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/whatsk8s/</guid>
				<description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_kubernetesk8s_materials&#34;&gt;1. Kubernetes(k8s) Materials&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Here are some commonly available documents.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Some of the books currently available do not differ much from the Japanese translations on the official website, so please try to learn online first.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;However, for advanced use, such as extending the functionality of Kubernetes itself using Kubebuilder or other tools, commercially available books will be useful.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;There are also some that cover older versions. If what is written does not work, please check the target Kubernetes version.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
			</item>
			<item>
				<title>Kubernetes Internal Mechanisms [For Intermediate and Advanced Users]</title>
				<link>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/k8sinternal/</link>
				<pubDate>Mon, 21 Apr 2025 13:04:22 +0900</pubDate>
				<guid>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/k8sinternal/</guid>
				<description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_summary&#34;&gt;Summary&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;This section describes the components that make up Kubernetes (K8s) and explains how Kubernetes works.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_references&#34;&gt;References&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://kubernetes.io/ja/docs/concepts/overview/components/&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Kubernetes Official Kubernetes Components&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.juniper.net/documentation/ja/day-one-books/topics/topic-map/kubernetes-basics.html&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Juniper Networks Kubernetes Basics &lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://kubernetes.io/ja/docs/concepts/extend-kubernetes/&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Kubernetes Official Kubernetes Extensions &lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://speakerdeck.com/govargo/under-the-kubernetes-controller-36f9b71b-9781-4846-9625-23c31da93014?slide=5&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Starting from scratch Kubernetes Controller&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://zoetrope.github.io/kubebuilder-training/&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Learn by making KubeBuilder Japanese version&lt;/a&gt; (&lt;a href=&#34;https://book.kubebuilder.io/introduction.html&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Original &lt;/a&gt;)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;The purpose of this document is to explain what you might need to know to read these documents.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_basic_configuration_of_k8s&#34;&gt;Basic Configuration of K8s&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;The official documentation includes the following diagram.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
			</item>
			<item>
				<title>About ThinkPad (Client Environment)</title>
				<link>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/client/</link>
				<pubDate>Mon, 21 Apr 2025 11:54:10 +0900</pubDate>
				<guid>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/client/</guid>
				<description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_client_environment&#34;&gt;1. Client environment&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;In the seminar room, we provide ThinkPads with Xubuntu installed for your work.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;OS: &lt;a href=&#34;https://xubuntu.org/&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Xubuntu&lt;/a&gt; (an LTS distribution with the lightweight &lt;a href=&#34;https://www.xfce.org/&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Xfce&lt;/a&gt; desktop environment instead of Ubuntu’s default &lt;a href=&#34;https://www.gnome.org/gnome-3/&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Gnome3&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Packages: ibus, language-pack-ja, docker, kubectl, etc.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;For network information, such as IP addresses, see the &lt;a href=&#34;../servers&#34;&gt;Network Configuration&lt;/a&gt; page.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;listingblock bg-warning&#34;&gt;&#xA;&lt;div class=&#34;content&#34;&gt;&#xA;&lt;pre class=&#34;highlight&#34;&gt;&lt;code&gt;This computing environment (including the ThinkPads in Seminar Room 10) is personally managed by Abe.&#xA;Please report any problems immediately after you log in.&#xA;(e.g., missing home directory, missing applications, questions about how to use the system, etc.)&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/div&gt;</description>
			</item>
			<item>
				<title>Harbor - DockerHub Alternative</title>
				<link>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/harbor/</link>
				<pubDate>Mon, 21 Apr 2025 12:53:35 +0900</pubDate>
				<guid>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/harbor/</guid>
				<description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_harbor_docker_registry_alternative&#34;&gt;1. Harbor - Docker Registry Alternative&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://goharbor.io/&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;https://goharbor.io/ &lt;/a&gt; - Official Site&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_basic_information_of_harbor&#34;&gt;2. Basic information of Harbor&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;URL: &lt;a href=&#34;https://inovtst9.u-aizu.ac.jp/&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;https://inovtst9.u-aizu.ac.jp/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Availability: Only within AINS netowrk&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;ID: Use your AINS ID&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;If you enable your namespace in kubecamp.u-aizu.ac.jp, you will be ready to use the Harbor.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Private Project Name: &amp;#34;AINS ID&amp;#34;.private&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Public Project Name: &amp;#34;AINS ID&amp;#34;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph col-8&#34;&gt;&#xA;&lt;p&gt;&lt;span class=&#34;image&#34;&gt;&lt;a class=&#34;image&#34; href=&#34;console.png&#34;&gt;&lt;img src=&#34;console.png&#34; alt=&#34;console&#34;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Please check your status logging in the Harbor, &lt;a href=&#34;https://inovtst9.u-aizu.ac.jp/&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;https://inovtst9.u-aizu.ac.jp/&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_getting_started&#34;&gt;3. Getting started&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;This section describes basic usage.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect2&#34;&gt;&#xA;&lt;h3 id=&#34;_log_in_to_harbor&#34;&gt;3.1. Log in to Harbor&lt;/h3&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Go to &lt;a class=&#34;bare&#34; href=&#34;https://inovtst9.u-aizu.ac.jp/&#34;&gt;https://inovtst9.u-aizu.ac.jp/&lt;/a&gt; and log in with your AINS ID and password.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
			</item>
			<item>
				<title>Getting Started with KubeCamp</title>
				<link>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/kubecamp/</link>
				<pubDate>Sun, 18 Feb 2024 22:35:16 +0900</pubDate>
				<guid>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/kubecamp/</guid>
				<description>&lt;h1 id=&#34;getting-started-with-kubecamp&#34;&gt;Getting Started with KubeCamp&lt;/h1&gt;&#xA;&lt;p&gt;KubeCamp is a kubernetes cluster available to all AINS users.&lt;/p&gt;&#xA;&lt;p&gt;Because SCCP members are given priority access to resources, there are limitations on the resources (memory, CPU, storage, etc.) available to other guest users on this Kubernetes cluster.&lt;/p&gt;&#xA;&lt;p&gt;Please check &lt;a href=&#34;#limitations&#34; class=&#34;link-primary&#34;&gt;Limitations&lt;/a&gt; for more information.&lt;/p&gt;&#xA;&lt;h2 id=&#34;useful-links&#34;&gt;Useful Links&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://opm00h.u-aizu.ac.jp/dexc&#34; class=&#34;link-primary&#34; rel=&#34;external&#34; target=&#34;_blank&#34;&gt;https://opm00h.u-aizu.ac.jp/dexc&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://kubernetes.io/&#34; class=&#34;link-primary&#34; rel=&#34;external&#34; target=&#34;_blank&#34;&gt;Kubernetes Official Site&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;getting-started&#34;&gt;Getting Started&lt;/h2&gt;&#xA;&lt;p&gt;The system is utilized through the kubectl command.&lt;/p&gt;&#xA;&lt;h3 id=&#34;before-executing-the-kubectl-command-only-needed-once&#34;&gt;Before executing the kubectl command (Only needed once)&lt;/h3&gt;&#xA;&lt;p&gt;When you press the &lt;code&gt;Create Namespace&lt;/code&gt; button from the &lt;a href=&#34;https://kubecamp.u-aizu.ac.jp/signup/&#34; class=&#34;link-primary&#34; rel=&#34;external&#34; target=&#34;_blank&#34;&gt;dashboard&lt;/a&gt;, essential resources such as namespace objects will be created in the K8s cluster.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Setup the kubectl command</title>
				<link>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/setupk8s/</link>
				<pubDate>Mon, 21 Apr 2025 12:01:52 +0900</pubDate>
				<guid>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/setupk8s/</guid>
				<description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;kubectl is an essential command-line tool for managing Kubernetes clusters, allowing users to deploy applications, inspect and manage cluster resources, and view logs.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;This document explains how to set up the kubectl command for use.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_for_users_of_kubecamp_u_aizu_ac_jp&#34;&gt;1. For users of kubecamp.u-aizu.ac.jp&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;sect2&#34;&gt;&#xA;&lt;h3 id=&#34;_for_those_who_have_used_the_kubectl_command_in_the_past&#34;&gt;1.1. For Those Who Have Used the kubectl Command in the Past&lt;/h3&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;If you have already placed your ~/.kube/config file, please update the correct value of the &lt;strong&gt;id-token:&lt;/strong&gt; key.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;If you haven’t done so, please replace the shown configuration text in your ~/.kube/config file.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
			</item>
			<item>
				<title>Persistent Volume (PV&amp;PVC)</title>
				<link>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/volumes/</link>
				<pubDate>Wed, 01 Jul 2026 08:52:24 +0900</pubDate>
				<guid>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/volumes/</guid>
				<description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_pv_and_pvc&#34;&gt;1. PV and PVC&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;&lt;strong&gt;Persistent Volume&lt;/strong&gt;(PV) is a feature of K8s that provides persistent storage like HDD/SSD.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;In a container-based virtualization environment, when a process terminates, the contents previously stored inside are destroyed and initialized.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;This is excellent in that if a process is contaminated from the outside, such as by a virus, it can be reset to its pre-contaminated state by restarting it, thus ensuring its integrity.&#xA;However, this feature can be a problem for applications such as database servers, where the purpose is to store data.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
			</item>
			<item>
				<title>Reverse Proxy</title>
				<link>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/ingress-proxy/</link>
				<pubDate>Wed, 01 Jul 2026 08:55:42 +0900</pubDate>
				<guid>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/ingress-proxy/</guid>
				<description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_user_list&#34;&gt;1. User list&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;We are preparing a mechanism to access the application on Kubernetes running in the seminar room from the campus.&#xA;Please make sure that your Namespace (AINS-ID) exists in the user list below.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_basic_reverse_proxy_usage&#34;&gt;2. Basic Reverse Proxy usage&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;In the Ingress configuration prepared for this environment, each user connects to &amp;#34;&amp;lt;namespace name&amp;gt;-svc&amp;#34; in a service that they are free to do so.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph bg-light&#34;&gt;&#xA;&lt;p&gt;&lt;span class=&#34;image&#34;&gt;&lt;a class=&#34;image&#34; href=&#34;../setupk8s-centos/20210531_SCCP-IngressNetwork.svg&#34;&gt;&lt;img src=&#34;../setupk8s-centos/20210531_SCCP-IngressNetwork.svg&#34; alt=&#34;20210531 SCCP IngressNetwork&#34;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;This configuration accesses only one type of pod(s) and does not allow external access to multiple web applications such as nginx, dvwa, etc.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
			</item>
			<item>
				<title>S3 Compatible Object Store (Latest Version)</title>
				<link>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/objectstore/</link>
				<pubDate>Mon, 21 Apr 2025 12:56:00 +0900</pubDate>
				<guid>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/objectstore/</guid>
				<description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_s3_compatible_object_store&#34;&gt;1. S3 compatible object store&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;We are preparing an S3 compatible Object Store using &lt;a href=&#34;https://docs.minio.io/&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Minio &lt;/a&gt;&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_references&#34;&gt;2. References&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;For basic usage of Minio’s Object Store, please refer to the following document.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://docs.minio.io/&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;official Minio documentation &lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_prepared_objects&#34;&gt;3. Prepared objects&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;To avoid interfering with each other, they are organized as follows.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;olist arabic&#34;&gt;&#xA;&lt;ol class=&#34;arabic&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Buckets cannot be created freely. Buckets are prepared as &amp;#34;&lt;strong&gt;username&lt;/strong&gt;-bucket&amp;#34; with unique key and secret for each user.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;information for using these (information equivalent to AWS_ACCESS_KEY and AWS_SECRET_ACCESS_KEY) is stored in &lt;strong&gt;secret/objectstore&lt;/strong&gt; of each user’s namespace.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;You can access to your bucket thourgh the following URL.&lt;/p&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;http://192.168.100.161:9001/&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;</description>
			</item>
			<item>
				<title>Load Balancer (LB)</title>
				<link>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/loadbalancer/</link>
				<pubDate>Thu, 14 Mar 2024 09:40:54 +0900</pubDate>
				<guid>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/loadbalancer/</guid>
				<description>&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;The Kubernetes description provided by platforms such as AWS and GCP uses a load balancer (LB) that is assigned a global IP address for communication with the outside world.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;In our Kubernetes cluster, the &lt;a href=&#34;https://metallb.universe.tf/&#34;&gt;MetalLB&lt;/a&gt; is used to assign IP addresses in the range 192.168.100.160-199/24.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;FYI: &lt;a href=&#34;https://qiita.com/YasuhiroABE/items/aa15567ac61b063cfcd4&#34;&gt;Deploying MetalLB on Kubernetes prepared by Kubespray&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;The LB assigned the address of 192.168.100.0/24 cannot be accessed from any other places except Seminar Room 10, such as exercise rooms and ains-wifi.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
			</item>
			<item>
				<title>[Unrevised] [docker] Official Docker Tutorial Part 2</title>
				<link>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/tutorial-docker-part2/</link>
				<pubDate>Wed, 01 Jul 2026 08:56:32 +0900</pubDate>
				<guid>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/tutorial-docker-part2/</guid>
				<description>&lt;div class=&#34;sect2&#34;&gt;&#xA;&lt;h3 id=&#34;_preparation_work_before_using_docker&#34;&gt;1. Preparation work before using Docker&lt;/h3&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Starting April 2023, Docker will be run as a user with non-root privileges, rootless mode.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Before the change, we had to run docker as a privileged (root) user, as in &lt;code&gt;docker&lt;/code&gt;, but from now on we should run docker as &lt;code&gt;docker&lt;/code&gt; without &amp;#34;sudo&amp;#34;.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;To enable the rootless mode, you will need to add the DOCKER_HOST environment variable to your ~/.profile and a working area on a non-NFS file system in your ~/.config/docker/daemon.json file.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
			</item>
			<item>
				<title>[docker&#43;k8] How to build a full-text search engine using Apache Solr</title>
				<link>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/tutorial-solr-crawler/</link>
				<pubDate>Mon, 21 Apr 2025 12:27:57 +0900</pubDate>
				<guid>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/tutorial-solr-crawler/</guid>
				<description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_dockerk8_how_to_build_a_full_text_search_engine_using_apache_solr&#34;&gt;1. [docker+k8] How to build a full-text search engine using Apache Solr&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;The work procedure assumes ThinkPad (Ubuntu 20.04) in Seminar Room 10, but the same work can be done on Linux (CentOS) in the exercise room, macOS, and Windows 10.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;dlist&#34;&gt;&#xA;&lt;dl&gt;&#xA;&lt;dt class=&#34;hdlist1&#34;&gt;macOS environment&lt;/dt&gt;&#xA;&lt;dd&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Java development environment (JDK 11 amd64) installed (&lt;a href=&#34;https://adoptium.net/&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Adoptium OpenJDK&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Docker Desktop for macOS installed (&lt;a href=&#34;https://docs.docker.com/desktop/&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Official Guide&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;/dd&gt;&#xA;&lt;dt class=&#34;hdlist1&#34;&gt;Windows 10 environment&lt;/dt&gt;&#xA;&lt;dd&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;WSL2 environment is set up (&lt;a href=&#34;https://learn.microsoft.com/en-us/windows/wsl/install&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;official guide&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Install Ubuntu 20.04 LTS from MS Store (&lt;a href=&#34;https://www.microsoft.com/store/apps/9n6svws3rx71&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;official store&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Install Docker Desktop for Windows (&lt;a href=&#34;https://docs.docker.com/desktop/&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Official Guide&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Java development environment (javac command) is installed in WSL2 environment (Ubuntu 20.04 LTS) (&lt;a href=&#34;https://www.digitalocean.com/community/tutorials/how-to-install-java-with-apt-on-ubuntu-20-04&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;install default-jdk&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;</description>
			</item>
			<item>
				<title>[docker&#43;k8s] Creating a Search Engine WebApp with OpenAPI&#43;Sinatra</title>
				<link>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/tutorial-websample-sinatra/</link>
				<pubDate>Mon, 21 Apr 2025 12:46:16 +0900</pubDate>
				<guid>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/tutorial-websample-sinatra/</guid>
				<description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_creating_search_page_by_openapisinatra&#34;&gt;1. Creating search page by OpenAPI+Sinatra&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Using Docker, let &lt;a href=&#34;https://opm00h.u-aizu.ac.jp/solr/api/v1/search&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;https://opm00h.u-aizu.ac.jp/solr/api/v1/search&lt;/a&gt; handle the search process and create an application to create and display a web page that displays the search results. Create an application to create and display a page that displays the search results.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect2&#34;&gt;&#xA;&lt;h3 id=&#34;_about_openapi_and_openapi_generator&#34;&gt;1.1. About OpenAPI and openapi-generator&lt;/h3&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;OpenAPI is the name of the specification created by the OpenAPI Initiative, an organization that aims to standardize methods for writing APIs.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
			</item>
			<item>
				<title>[k8s] k8s Official Stateless Sample Application 1 (Nginx)</title>
				<link>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/tutorial-stateless/</link>
				<pubDate>Wed, 01 Jul 2026 08:54:13 +0900</pubDate>
				<guid>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/tutorial-stateless/</guid>
				<description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_workflow&#34;&gt;1. Workflow&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;This section describes how to run the official examples available on kubernetes.io on this Kubernetes cluster.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Tutorial 1: &lt;a href=&#34;https://kubernetes.io/docs/tutorials/stateless-application/expose-external-ip-address/&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;k8s official site::Stateless Application:Exposing an External IP Address to Access an Application in a Cluster&lt;/a&gt;]&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;The work here is designed to be run on a ThinkPad in a seminar room.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;If you wish to run this on your own PC or in the seminar room, please keep the following points in mind.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
			</item>
			<item>
				<title>[k8s] k8s Official Stateless Sample Application 2 (Guestbook)</title>
				<link>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/tutorial-stateless-gustbook/</link>
				<pubDate>Fri, 15 Dec 2023 12:02:35 +0900</pubDate>
				<guid>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/tutorial-stateless-gustbook/</guid>
				<description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_example_deploying_php_guestbook_application_with_redis&#34;&gt;1. Example: Deploying PHP Guestbook application with Redis&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;This section describes how to run the official example published on kubernetes.io on this k8s cluster.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Tutorial 2: &lt;a href=&#34;https://kubernetes.io/docs/tutorials/stateless-application/guestbook/&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;k8s official site::Example: Deploying PHP Guestbook application with Redis&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;This is a guestbook (doodle) application written in PHP language using a Non-SQL database server called Redis.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;sect2&#34;&gt;&#xA;&lt;h3 id=&#34;_basic_method&#34;&gt;1.1. Basic method&lt;/h3&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;I’m going to look at the Tutorial 2 page and run the commands,&#xA;Here is a list of commands with &lt;code&gt;-n $(id -n)&lt;/code&gt; added mainly.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
			</item>
			<item>
				<title>[Unadvised] [k8s] ............. Stateless Sample Application 3 (Socket.IO Guestbook)</title>
				<link>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/tutorial-stateless-gustbook-socket/</link>
				<pubDate>Mon, 21 Apr 2025 12:34:30 +0900</pubDate>
				<guid>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/tutorial-stateless-gustbook-socket/</guid>
				<description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_summary&#34;&gt;1. Summary&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;The officially provided Guestbook application did not automatically display messages when multiple users connected, requiring reloading.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;In this article, I will describe an application and its internal structure that uses &lt;a href=&#34;https://socket.io/&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;socket.io&lt;/a&gt; to immediately reflect written content.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;A sample application using socket.io is available at the following URL.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://socket.io/get-started/chat&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;https://socket.io/get-started/chat&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Based on the above getting started tutorial, the container image is available at the following URL.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://hub.docker.com/r/yasuhiroabe/socket-guestbook&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;https://hub.docker.com/r/yasuhiroabe/socket-guestbook&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;Sample code for the final application with user authentication enabled is available at the following URL.&lt;/p&gt;&#xA;&lt;/div&gt;</description>
			</item>
			<item>
				<title>[keepalived] Building a keepalived cluster using APU/APU2</title>
				<link>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/tutorial-apu-keepalived/</link>
				<pubDate>Thu, 29 Jan 2026 15:36:44 +0900</pubDate>
				<guid>https://u-aizu.ac.jp/~yasu-abe/en/sccp/manual/tutorial-apu-keepalived/</guid>
				<description>&lt;div class=&#34;sect1&#34;&gt;&#xA;&lt;h2 id=&#34;_summary_of_work&#34;&gt;1. Summary of work&lt;/h2&gt;&#xA;&lt;div class=&#34;sectionbody&#34;&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;This tutorial is designed to give you a taste of two features of keepalived: &lt;strong&gt;load balancing&lt;/strong&gt; and &lt;strong&gt;high availability (HA, High Availability)&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;paragraph&#34;&gt;&#xA;&lt;p&gt;One of the key technical elements is &lt;strong&gt;VRRP&lt;/strong&gt;.&#xA;VRRP allows multiple machines to share a single IP address, and even if one machine goes down, the other machines can take over the IP address and continue processing.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;ulist&#34;&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ja.wikipedia.org/wiki/Virtual_Router_Redundancy_Protocol&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Wikipedia(ja) - Virtual Router Redundancy Protocol&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Virtual_Router_Redundancy_Protocol&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Wikipedia(en) - Virtual Router Redundancy Protocol&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/div&gt;</description>
			</item>
	</channel>
</rss>
