<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[bayhaqqy blog]]></title><description><![CDATA[bayhaqqy blog]]></description><link>https://blog.bayhaqqy.my.id</link><generator>RSS for Node</generator><lastBuildDate>Sun, 19 Apr 2026 09:47:44 GMT</lastBuildDate><atom:link href="https://blog.bayhaqqy.my.id/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[How to Install OpenShift 4.14 with the UPI Method]]></title><description><![CDATA[Apa itu Openshift?
Red Hat OpenShift adalah platform Kubernetes enterprise. Intinya Kubernetes, tapi ditambah komponen built-in (security, registry, networking, observability, operator lifecycle, dsb.) supaya deploy & kelola aplikasi container jadi s...]]></description><link>https://blog.bayhaqqy.my.id/how-to-install-openshift-414-with-the-upi-method</link><guid isPermaLink="true">https://blog.bayhaqqy.my.id/how-to-install-openshift-414-with-the-upi-method</guid><category><![CDATA[install openshift]]></category><category><![CDATA[openshift]]></category><category><![CDATA[redhat]]></category><category><![CDATA[containerization]]></category><category><![CDATA[Orchestration]]></category><dc:creator><![CDATA[Rafli Abdul Bay Haqqy]]></dc:creator><pubDate>Tue, 28 Oct 2025 11:35:49 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1761651242453/e2a9b171-c868-4118-84b0-54af39596c39.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-apa-itu-openshift">Apa itu Openshift?</h2>
<p><strong>Red Hat OpenShift</strong> adalah <strong>platform Kubernetes enterprise</strong>. Intinya Kubernetes, tapi ditambah komponen built-in (security, registry, networking, observability, operator lifecycle, dsb.) supaya <strong>deploy &amp; kelola aplikasi container</strong> jadi standar, aman, dan otomatis.</p>
<p>Ada 2 varian:</p>
<ul>
<li><p><strong>OpenShift Container Platform (OCP)</strong>: komersial, support Red Hat.</p>
</li>
<li><p><strong>OKD</strong>: edisi komunitas (upstream dari OCP).</p>
</li>
</ul>
<h2 id="heading-methode-installasi">Methode Installasi</h2>
<ol>
<li><h3 id="heading-ipi-installer-provisioned-infrastructure">IPI — <em>Installer-Provisioned Infrastructure</em></h3>
<p> Installer OpenShift yang <strong>sekalian membangun infrastrukturnya</strong> (VM/instances, jaringan, load balancer, DNS) di platform yang didukung (mis. AWS, Azure, GCP, vSphere, bare-metal IPI).</p>
</li>
<li><h3 id="heading-upi-user-provisioned-infrastructure">UPI (User-Provisioned Infrastructure)</h3>
<p> <strong>Kamu yang menyiapkan seluruh infrastruktur</strong> (VM/bare-metal, jaringan, load balancer, DNS, storage). Installer hanya membuat <strong>manifests</strong> dan <strong>berkas ignition</strong> untuk dipasang ke node.</p>
</li>
<li><h3 id="heading-agent-based">Agent-Based</h3>
<p> Metode instal OpenShift yang pakai <strong>discovery ISO</strong> berisi “agent”. Kamu siapkan <strong>2 file</strong>:</p>
<ul>
<li><p><code>install-config.yaml</code> → setting level cluster (baseDomain, nama cluster, jaringan cluster/service/machine, pullSecret, sshKey, proxy/mirror).</p>
</li>
<li><p><code>agent-config.yaml</code> → detail <strong>host</strong> (MAC NIC, IP statik via <strong>NMState</strong>), <strong>rendezvousIP</strong>, <strong>apiVIP/ingressVIP</strong>.</p>
</li>
</ul>
</li>
</ol>
<p>    Agent di tiap host akan <strong>auto-discover</strong>, validasi resource, lalu jalanin instalasi tanpa kamu harus provisioning infra via installer (beda dengan IPI).</p>
<h2 id="heading-pre-install">Pre-Install</h2>
<h3 id="heading-1-minimum-vm-cluster-resources">1. Minimum VM Cluster Resources</h3>
<div class="hn-table">
<table>
<thead>
<tr>
<td>Machine</td><td>OS</td><td>CPU</td><td>RAM</td><td>Storage</td></tr>
</thead>
<tbody>
<tr>
<td>Bastion</td><td>RHEL 9</td><td>3 VCPU</td><td>8 GB</td><td>50 GB</td></tr>
<tr>
<td>Bootstrap</td><td>RHCOS</td><td>4 VCPU</td><td>16 GB</td><td>100 GB</td></tr>
<tr>
<td>Control Plane</td><td>RHCOS</td><td>4 VCPU</td><td>16 GB</td><td>100 GB</td></tr>
<tr>
<td>Compute</td><td>RHCOS or RHEL</td><td>2 VCPU</td><td>8 GB</td><td>100 GB</td></tr>
</tbody>
</table>
</div><p>1. ### Konfigurasi Port dan Firewall untuk OpenShift</p>
<p>Sebelum melakukan instalasi OpenShift, pastikan semua port yang dibutuhkan sudah terbuka di setiap node — baik antar node (all-machine), antara node dengan control plane, maupun antar control plane itu sendiri.</p>
<p>Port-port ini digunakan untuk komunikasi internal OpenShift, seperti sinkronisasi kubelet, akses API server, dan trafik overlay network (VXLAN/Geneve).</p>
<p>Jika port-port berikut ditutup oleh firewall, proses instalasi dapat gagal, atau cluster yang sudah jalan bisa mengalami gangguan komunikasi antar node.</p>
<p>### 1. All-machine to All-machine Communication</p>
<p>Port di bawah ini wajib dibuka di semua node (master, worker, bootstrap, dan bastion) agar komunikasi internal OpenShift berjalan lancar:</p>
<p>| Protocol | Port | Deskripsi | | --- | --- | --- | | <strong>ICMP</strong> | N/A | Digunakan untuk uji konektivitas antar node (ping) | | <strong>TCP</strong> | 1936 | Endpoint metrics internal | | 9000-9999 | Layanan internal host, termasuk node exporter (9100-9101) dan Cluster Version Operator (9099) | | | 10250-10259 | Port default yang digunakan oleh kubelet dan komponen Kubernetes lainnya | | | 10256 | Port internal untuk <code>openshift-sdn</code> | | | <strong>UDP</strong> | 4789 | VXLAN overlay network | | 6081 | Geneve overlay network | | | 9000-9999 | Host-level metrics dan monitoring service | | | 500 | IPsec IKE (Internet Key Exchange) packets | | | 4500 | IPsec NAT-Traversal packets | | | 123 | NTP (Network Time Protocol) – sinkronisasi waktu antar node | | | <strong>TCP/UDP</strong> | 30000-32767 | NodePort service (port untuk akses aplikasi eksternal) | | <strong>ESP</strong> | N/A | IPsec Encapsulating Security Payload (ESP) |</p>
<p>### 2. All-machine to Control Plane Communication</p>
<p>Port berikut harus dibuka agar setiap node (termasuk worker) bisa berkomunikasi dengan control plane:</p>
<p>| Protocol | Port | Deskripsi | | --- | --- | --- | | <strong>TCP</strong> | 6443 | Akses ke Kubernetes API Server |</p>
<p>\&gt; Semua node, termasuk bootstrap dan worker, harus bisa mengakses port 6443 pada masing-masing master node.<br />\&gt; Ini adalah jalur utama komunikasi kubelet dengan API server.</p>
<p>### 3. Control Plane to Control Plane Communication</p>
<p>Port di bawah ini digunakan untuk komunikasi antar master node (etcd cluster):</p>
<p>| Protocol | Port | Deskripsi | | --- | --- | --- | | <strong>TCP</strong> | 2379-2380 | Komunikasi internal dan sinkronisasi data antar komponen <code>etcd</code> |</p>
<p>\&gt; Pastikan hanya node master yang membuka port ini antar sesama master, karena <code>etcd</code> adalah komponen sensitif dan menyimpan seluruh data cluster.</p>
<p>berikut commnad untuk open port</p>
<pre><code class="lang-csharp"><span class="hljs-meta"># ==========================</span>
<span class="hljs-meta"># OpenShift Core &amp; Kubernetes</span>
<span class="hljs-meta"># ==========================</span>
sudo firewall-cmd --permanent --<span class="hljs-keyword">add</span>-port=<span class="hljs-number">6443</span>/tcp        <span class="hljs-meta"># API Server</span>
sudo firewall-cmd --permanent --<span class="hljs-keyword">add</span>-port=<span class="hljs-number">2379</span><span class="hljs-number">-2380</span>/tcp   <span class="hljs-meta"># etcd (control plane)</span>
sudo firewall-cmd --permanent --<span class="hljs-keyword">add</span>-port=<span class="hljs-number">10250</span><span class="hljs-number">-10259</span>/tcp <span class="hljs-meta"># kubelet &amp; node services</span>
sudo firewall-cmd --permanent --<span class="hljs-keyword">add</span>-port=<span class="hljs-number">10256</span>/tcp       <span class="hljs-meta"># openshift-sdn</span>
sudo firewall-cmd --permanent --<span class="hljs-keyword">add</span>-port=<span class="hljs-number">1936</span>/tcp        <span class="hljs-meta"># metrics</span>
sudo firewall-cmd --permanent --<span class="hljs-keyword">add</span>-port=<span class="hljs-number">9000</span><span class="hljs-number">-9999</span>/tcp   <span class="hljs-meta"># node exporter &amp; internal services</span>
sudo firewall-cmd --permanent --<span class="hljs-keyword">add</span>-port=<span class="hljs-number">9000</span><span class="hljs-number">-9999</span>/udp   <span class="hljs-meta"># node exporter (udp range)</span>
sudo firewall-cmd --permanent --<span class="hljs-keyword">add</span>-port=<span class="hljs-number">30000</span><span class="hljs-number">-32767</span>/tcp <span class="hljs-meta"># NodePort range</span>
sudo firewall-cmd --permanent --<span class="hljs-keyword">add</span>-port=<span class="hljs-number">30000</span><span class="hljs-number">-32767</span>/udp <span class="hljs-meta"># NodePort range</span>

<span class="hljs-meta"># ==========================</span>
<span class="hljs-meta"># Networking &amp; Overlay</span>
<span class="hljs-meta"># ==========================</span>
sudo firewall-cmd --permanent --<span class="hljs-keyword">add</span>-port=<span class="hljs-number">4789</span>/udp        <span class="hljs-meta"># VXLAN</span>
sudo firewall-cmd --permanent --<span class="hljs-keyword">add</span>-port=<span class="hljs-number">6081</span>/udp        <span class="hljs-meta"># Geneve</span>
sudo firewall-cmd --permanent --<span class="hljs-keyword">add</span>-port=<span class="hljs-number">500</span>/udp         <span class="hljs-meta"># IPsec IKE</span>
sudo firewall-cmd --permanent --<span class="hljs-keyword">add</span>-port=<span class="hljs-number">4500</span>/udp        <span class="hljs-meta"># IPsec NAT-T</span>
sudo firewall-cmd --permanent --<span class="hljs-keyword">add</span>-protocol=esp         <span class="hljs-meta"># IPsec ESP</span>
sudo firewall-cmd --permanent --<span class="hljs-keyword">add</span>-port=<span class="hljs-number">123</span>/udp         <span class="hljs-meta"># NTP</span>
sudo firewall-cmd --permanent --<span class="hljs-keyword">add</span>-port=<span class="hljs-number">53</span>/tcp          <span class="hljs-meta"># DNS</span>
sudo firewall-cmd --permanent --<span class="hljs-keyword">add</span>-port=<span class="hljs-number">53</span>/udp          <span class="hljs-meta"># DNS</span>

<span class="hljs-meta"># ==========================</span>
<span class="hljs-meta"># HTTP / HTTPS Access (Route / Web Console)</span>
<span class="hljs-meta"># ==========================</span>
sudo firewall-cmd --permanent --<span class="hljs-keyword">add</span>-port=<span class="hljs-number">80</span>/tcp          <span class="hljs-meta"># HTTP</span>
sudo firewall-cmd --permanent --<span class="hljs-keyword">add</span>-port=<span class="hljs-number">8080</span>/tcp        <span class="hljs-meta"># Alternate HTTP</span>
sudo firewall-cmd --permanent --<span class="hljs-keyword">add</span>-port=<span class="hljs-number">443</span>/tcp         <span class="hljs-meta"># HTTPS</span>

<span class="hljs-meta"># ==========================</span>
<span class="hljs-meta"># Reload firewall</span>
<span class="hljs-meta"># ==========================</span>
sudo firewall-cmd --reload
sudo firewall-cmd --list-ports
</code></pre>
<h3 id="heading-4-setup-ssh">4. Setup SSH</h3>
<pre><code class="lang-csharp">ssh-keygen -t ed25519
eval <span class="hljs-string">"$(ssh-agent -s)”
ssh-add ~/.ssh/id_ed25519</span>
</code></pre>
<h2 id="heading-step-install-ocp-with-upi-method">Step Install OCP with UPI Method</h2>
<h3 id="heading-1-install-dependecies">1. Install Dependecies</h3>
<pre><code class="lang-csharp">dnf update
dnf install chrony dnsmasq haproxy httpd
systemctl enable --now chronyd dnsmasq httpd haproxy
timedatectl <span class="hljs-keyword">set</span>-ntp <span class="hljs-literal">true</span>
timedatectl
</code></pre>
<p>selain dependecies diatas juga kita perlu install package openshiftnya, bisa cari untuk linknya ada di <a target="_blank" href="https://mirror.openshift.com/pub/openshift-v4/x86_64/clients/ocp/">package</a>, sesuaikan dengan versi yang akan diinstall untuk lab kali ini kita menggunakan versi 4.14.34</p>
<pre><code class="lang-csharp">wget https:<span class="hljs-comment">//mirror.openshift.com/pub/openshift-v4/x86_64/clients/ocp/4.14.34/openshift-install-linux.tar.gz</span>
wget https:<span class="hljs-comment">//mirror.openshift.com/pub/openshift-v4/x86_64/clients/ocp/4.14.34/openshift-client-linux.tar.gz</span>
tar -xzvf openshift-client-linux.tar.gz
tar -xzvf openshift-install-linux.tar.gz
mv kubectl oc openshift-install /usr/bin/
</code></pre>
<h3 id="heading-2-setting-dns">2. Setting DNS</h3>
<p>untuk menginstall ocp kita perlu setting DNS, untuk dns yang kita gunakan kali ini menggunakan dnsmasq</p>
<pre><code class="lang-csharp">ip a
vim /etc/dnsmasq.conf
</code></pre>
<p>untukk isinya bisa menggunakan format ini namun perlu diganti pada beberapa bagian seperti interface,domain,local domain,dan ipnya.</p>
<pre><code class="lang-csharp"><span class="hljs-meta">## edit pada /etc/dnsmasq.conf </span>
user=dnsmasq
<span class="hljs-keyword">group</span>=dnsmasq
<span class="hljs-keyword">interface</span>=ens192 <span class="hljs-meta">## --&gt; sesuaikan dengan interface</span>
bind-interfaces
conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig
no-hosts
addn-hosts=/etc/hosts
domain=ocp.bayhaqqy.lab <span class="hljs-meta">## --&gt; ganti nama domainnya</span>
local=/ocp.bayhaqqy.lab/ <span class="hljs-meta">## --&gt; ganti nama domainnya</span>
server=<span class="hljs-number">192.168</span><span class="hljs-number">.1</span><span class="hljs-number">.10</span> <span class="hljs-meta">#external --&gt; External</span>
server=<span class="hljs-number">8.8</span><span class="hljs-number">.8</span><span class="hljs-number">.8</span> <span class="hljs-meta">#upstream</span>
server=<span class="hljs-number">10.10</span><span class="hljs-number">.103</span><span class="hljs-number">.31</span> <span class="hljs-meta">#internal --&gt; ip bastion</span>
address=/apps.ocp.bayhaqqy.lab/<span class="hljs-number">10.10</span><span class="hljs-number">.103</span><span class="hljs-number">.31</span> <span class="hljs-meta"># --&gt; sesuaikan dengan domainnya</span>
</code></pre>
<h3 id="heading-3-setting-haproxy">3. Setting Haproxy</h3>
<p>karena kita akan menginstall cluster HA maka kita perlu setting Haproxy sebagai load balancer</p>
<pre><code class="lang-csharp">vim etc/haproxy/haproxy.conf/
systemctl restart haproxy
</code></pre>
<p>untuk settingan haproxy bisa ikuti dibawah ini, tinggal disesuaikan aja hostnamenya</p>
<pre><code class="lang-bash"><span class="hljs-comment">## isi etc/haproxy/haproxy.conf/</span>
<span class="hljs-comment">#---------------------------------------------------------------------</span>
<span class="hljs-comment"># Example configuration for a possible web application.  See the</span>
<span class="hljs-comment"># full configuration options online.</span>
<span class="hljs-comment">#</span>
<span class="hljs-comment">#   https://www.haproxy.org/download/1.8/doc/configuration.txt</span>
<span class="hljs-comment">#</span>
<span class="hljs-comment">#---------------------------------------------------------------------</span>

<span class="hljs-comment">#---------------------------------------------------------------------</span>
<span class="hljs-comment"># Global settings</span>
<span class="hljs-comment">#---------------------------------------------------------------------</span>
global
    <span class="hljs-comment"># to have these messages end up in /var/log/haproxy.log you will</span>
    <span class="hljs-comment"># need to:</span>
    <span class="hljs-comment">#</span>
    <span class="hljs-comment"># 1) configure syslog to accept network log events.  This is done</span>
    <span class="hljs-comment">#    by adding the '-r' option to the SYSLOGD_OPTIONS in</span>
    <span class="hljs-comment">#    /etc/sysconfig/syslog</span>
    <span class="hljs-comment">#</span>
    <span class="hljs-comment"># 2) configure local2 events to go to the /var/log/haproxy.log</span>
    <span class="hljs-comment">#   file. A line like the following can be added to</span>
    <span class="hljs-comment">#   /etc/sysconfig/syslog</span>
    <span class="hljs-comment">#</span>
    <span class="hljs-comment">#    local2.*                       /var/log/haproxy.log</span>
    <span class="hljs-comment">#</span>
    <span class="hljs-built_in">log</span>         127.0.0.1 local2

    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon

    <span class="hljs-comment"># turn on stats unix socket</span>
    stats socket /var/lib/haproxy/stats

    <span class="hljs-comment"># utilize system-wide crypto-policies</span>
    ssl-default-bind-ciphers PROFILE=SYSTEM
    ssl-default-server-ciphers PROFILE=SYSTEM

<span class="hljs-comment">#---------------------------------------------------------------------</span>
<span class="hljs-comment"># common defaults that all the 'listen' and 'backend' sections will</span>
<span class="hljs-comment"># use if not designated in their block</span>
<span class="hljs-comment">#---------------------------------------------------------------------</span>
defaults
    mode                    tcp
    <span class="hljs-built_in">log</span>                     global
<span class="hljs-comment">#   option                  httplog</span>
    option                  dontlognull
    option http-server-close
<span class="hljs-comment">#   option forwardfor       except 127.0.0.0/8</span>
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000

<span class="hljs-comment">#---------------------------------------------------------------------</span>
<span class="hljs-comment"># round robin balancing between the various backends</span>
<span class="hljs-comment">#---------------------------------------------------------------------</span>

frontend main6443
<span class="hljs-built_in">bind</span> *:6443
default_backend api6443

backend api6443
balance <span class="hljs-built_in">source</span>
mode tcp
server bootstrap.ocp.bayhaqqy.lab bootstrap.ocp.bayhaqqy.lab:6443 check
server master00.ocp.bayhaqqy.lab master00.ocp.bayhaqqy.lab:6443 check
server master01.ocp.bayhaqqy.lab master01.ocp.bayhaqqy.lab:6443 check
server master02.ocp.bayhaqqy.lab master02.ocp.bayhaqqy.lab:6443 check

frontend main22623
<span class="hljs-built_in">bind</span> *:22623
default_backend api22623

backend api22623
balance <span class="hljs-built_in">source</span>
mode tcp
server bootstrap.ocp.bayhaqqy.lab bootstrap.ocp.bayhaqqy.lab:22623 check  
server master00.ocp.bayhaqqy.lab master00.ocp.bayhaqqy.lab:22623 check     
server master01.ocp.bayhaqqy.lab master01.ocp.bayhaqqy.lab:22623 check
server master02.ocp.bayhaqqy.lab master02.ocp.bayhaqqy.lab:22623 check

frontend main443
<span class="hljs-built_in">bind</span> *:443
default_backend router443

backend router443
balance <span class="hljs-built_in">source</span>
mode tcp
server worker00.ocp.bayhaqqy.lab worker00.ocp.bayhaqqy.lab:443 check
server worker01.ocp.bayhaqqy.lab worker01.ocp.bayhaqqy.lab:443 check

frontend main80
<span class="hljs-built_in">bind</span> *:80
default_backend router80

backend router80
balance <span class="hljs-built_in">source</span>
mode tcp
server worker00.ocp.bayhaqqy.lab worker00.ocp.bayhaqqy.lab:80 check
server worker01.ocp.bayhaqqy.lab worker01.ocp.bayhaqqy.lab:80 check
</code></pre>
<p>perlu diperhatikan pada domainnya, seusaikan dengan domain yang akan digunakan untuk cluster ocp</p>
<h3 id="heading-4-setting-etchosts">4. Setting /etc/hosts</h3>
<p>karena kita menggunakan bastion sebagai dns servernya kita juga harus setting domainnya pada /etc/hosts, pastikan semua record harus dimasukkan pada /etc/hosts agar tidak ada masalah pada koneksi</p>
<pre><code class="lang-bash">vim /etc/hosts
</code></pre>
<p>tambahkan semua record node ocp ke /etc/host dan pastikan bisa di <em>nslookup,</em> jika semua bisa di nslookup berarti untuk hostname sudah bisa kita gunakan untuk node ocp yang akan kita install</p>
<pre><code class="lang-bash"><span class="hljs-comment">## isi /etc/hosts</span>
<span class="hljs-comment">#bastion</span>
10.10.103.31 bastion.ocp.bayhaqqy.lab
<span class="hljs-comment">#bootstrap</span>
10.10.103.32 bootstrap.ocp.bayhaqqy.lab bootstrap
<span class="hljs-comment">#master</span>
10.10.103.33 master00.ocp.bayhaqqy.lab master00
10.10.103.34 master01.ocp.bayhaqqy.lab master01
10.10.103.35 master02.ocp.bayhaqqy.lab master02
<span class="hljs-comment">#worker</span>
10.10.103.36  worker00.ocp.bayhaqqy.lab worker00
10.10.103.37  worker01.ocp.bayhaqqy.lab worker01
<span class="hljs-comment">#api</span>
10.10.103.31 api-int.ocp.bayhaqqy.lab
10.10.103.31 api.ocp.bayhaqqy.lab
<span class="hljs-comment">#ocp</span>
10.10.103.31 console-openshift-console.apps.ocp.bayhaqqy.lab
10.10.103.31 oauth-openshift.apps.ocp.bayhaqqy.lab
10.10.103.31 default-route-openshift-image-registry.apps.ocp.bayhaqqy.lab
</code></pre>
<p>perlu perhatikan pada domainnya bisa disesuaikan dengan domain dan ip yang akan digunakan cluster</p>
<h3 id="heading-5-create-yaml-installation">5. Create YAML Installation</h3>
<p>untuk pull secretnya bisa salin di <a target="_blank" href="https://console.redhat.com/openshift/install/pull-secret">pull-secret</a>, nanti mauskkan pada install-config.yaml nya.</p>
<pre><code class="lang-bash">mkdir yaml-collection
mkdir ocp4
vim yaml-collection/install-config.yaml
cat .ssh/id_ed25519.pub
</code></pre>
<p>untuk install-config.yamlnya bisa ikuti seperti dibawah ini tinggal sesuaikan pada baseDomain, nama cluster,pullSecret dan sshKeynya.</p>
<pre><code class="lang-bash"><span class="hljs-comment">## isi install-confignya</span>
apiVersion: v1
baseDomain: bayhaqqy.lab <span class="hljs-comment"># --&gt; sesuaikan dengan domainnya</span>
compute:
- hyperthreading: Enabled
  name: worker
  replicas: 0
controlPlane:
  hyperthreading: Enabled
  name: master
  replicas: 3
metadata:
  name: ocp <span class="hljs-comment"># --&gt; sesuaikan dengan nama clusternya</span>
networking:
  clusterNetwork:
  - cidr: 10.128.0.0/14
    hostPrefix: 23
  networkType: OVNKubernetes
  serviceNetwork:
  - 172.30.0.0/16
platform:
  none: {}
fips: <span class="hljs-literal">false</span>
pullSecret: <span class="hljs-string">'masukkan pull secretnya'</span>
sshKey: <span class="hljs-string">'masukkan ssh pubkeynya'</span>
</code></pre>
<p>Folder yang saat ini digunakan hanya untuk menyimpan file <code>install-config.yaml</code>.<br />Jika ada perubahan konfigurasi, lakukan langsung di folder ini. Setelah proses instalasi dimulai, file manifest akan otomatis dibuat di folder baru yang terpisah — folder tersebut nantinya digunakan sebagai lokasi file manifest hasil instalasi, sekaligus sebagai <strong>backup</strong> dari proses instalasi.</p>
<pre><code class="lang-bash">cp yaml-collection/install-config.yaml ocp4/
openshift-install create manifests --dir ocp4/
vim ocp4/auth/cluster-scheduler-02-config.yml
openshift-install create ignition-configs --dir ocp4/
</code></pre>
<pre><code class="lang-bash"><span class="hljs-comment">## ganti pada ocp4/auth/cluster-scheduler-02-config.yml</span>
apiVersion: config.openshift.io/v1
kind: Scheduler
metadata:
  creationTimestamp: null
  name: cluster
spec:
  mastersSchedulable: <span class="hljs-literal">false</span> <span class="hljs-comment"># --&gt; dari true menjadi false</span>
  policy:
    name: <span class="hljs-string">""</span>
status: {}
</code></pre>
<h3 id="heading-6-upload-ignition">6. Upload Ignition</h3>
<p>nah karena untuk port default pada httpd masih 80, kita perlu ganti dulu ke 8080 agar tidak menabrak port 80 yang akan digunakan oleh cluster</p>
<pre><code class="lang-bash">semanage port -a -t http_port_t -p tcp 8080
vim /etc/httpd/conf/httpd.conf

<span class="hljs-comment">## cari pada listen 80</span>
Listen 80 <span class="hljs-comment"># --&gt; rubah menjadi 8080 </span>

systemctl restart httpd
cp ocp4/*.ign /var/www/html/
chmod -R 777 /var/www/html
chcon -R -t httpd_sys_content_t /var/www/html/
</code></pre>
<h3 id="heading-7-deploy">7. Deploy</h3>
<ol>
<li>Bootstrap</li>
</ol>
<p>jalankan vm bootstrap yang sudah menggunakan iso RHCOS</p>
<pre><code class="lang-bash">sudo nmtui
</code></pre>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1760088058136/2e609c27-dcf1-497d-ad85-31399c2f81dd.png" alt class="image--center mx-auto" /></p>
<p>sesuaikan untuk ipnya menggunakan ip bootstrap yang sudah di define pada /etc/hosts bastion, dan gunakan dns servernya ke ip bastion. kalau sudah bisa coba untuk nslookup terlebih dahulu ke bastion, setelah itu baru download ignition config yang berada pada bastion</p>
<pre><code class="lang-bash">sudo coreos-installer install --copy-network --insecure-ignition --ignition-utl http://ipbastion:8080/bootstrap.ign /dev/sda
reboot
</code></pre>
<p>pada sisi vm bastion jalankan command di bawah ini</p>
<pre><code class="lang-bash">openshift-install --dir=/root/ocp4 wait-for bootstrap-complete --log-level=debug
</code></pre>
<ol start="2">
<li>Master</li>
</ol>
<p>jalan vm untuk node master dan bisa atur network seperti diatas dengan ip yang sudah disetting pada node bastion dan jalankan command berikut</p>
<pre><code class="lang-bash">sudo coreos-installer install --copy-network --insecure-ignition --ignition-url http://ipbastion:8080/master.ign /dev/sda
reboot
</code></pre>
<p>tunggu hingga status bootstrap seperti di bawah ini, setelah itu node master sudah bisa direboot untuk memulai instalasi node master</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1761271263710/e6c170f5-f62f-4f53-8ea5-e1d50f0fdeaa.png" alt class="image--center mx-auto" /></p>
<p>jika node master sudah menyala kita bisa export kubeconfig agar bisa manage cluster ocp, lalu bisa <em>watch oc get node</em> untuk melihat status node cluster, jika masih <strong>NotReady</strong> tunggu hingga 30 menit sampai status node menjadi <strong>Ready</strong></p>
<pre><code class="lang-bash">mkdir .kube
cp ocp4/auth/kubeconfig /root/.kube/config
<span class="hljs-built_in">export</span> KUBECONFIG=/root/.kube/config
watch oc get node
</code></pre>
<ol start="3">
<li>Worker</li>
</ol>
<p>jalan vm untuk node master dan bisa atur network seperti diatas dengan ip yang sudah disetting pada node bastion dan jalankan command berikut</p>
<pre><code class="lang-bash">sudo coreos-installer install --copy-network --insecure-ignition --ignition-utl http://ipbastion:8080/worker.ign /dev/sda
reboot
</code></pre>
<p>tunggu hingga status node master menjadi <strong>Ready</strong>, jika sudah <em>Ready</em> node worker bisa direboot untuk memulai instalasi</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1761272711814/68656b99-7a87-4b02-8dd7-f504028eb835.png" alt class="image--center mx-auto" /></p>
<p>jika node worker sudah dinyalakan bisa lanjutkan pada node bastion untuk memonitoring hingga semua node menjadi <strong>Ready</strong></p>
<pre><code class="lang-bash">watch oc get node,co,mcp
watch -n2 <span class="hljs-string">'oc get csr -o json | jq -r ".items[] | select(.status.conditions|not) | .metadata.name" | xargs -r oc adm certificate approve'</span>
</code></pre>
<p>jika sudah 10 menit dan node worker tidak masuk dalam list node bisa reboot node worker, lalu tunggu hingga semua operator dan node clear semua, proses ini bisa memakan waktu 30-1 jam tergantung dari jaringan</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1761288577791/d2d10f80-8e7b-4276-ab6d-b2bdd81b6c26.png" alt class="image--center mx-auto" /></p>
<p>jika operator dan node sudah aman semua, kita bisa coba untuk akses consolenya namun sebelum itu kita perlu hardcode domain ocp kedalam laptop kita, kalo menggunakan windows biasanya ada di <strong>C:\Windows\System32\drivers\etc,</strong> untuk domain ocpnya bisa dicek pada <em>/etc/hosts</em></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1761288798866/c1ec66d4-7618-49e1-90cd-52b68fff4581.png" alt class="image--center mx-auto" /></p>
<p>lalu kita bisa coba untuk mengakses consolenya</p>
<pre><code class="lang-bash">oc whoami --show-console
cat ocp4/auth/kubeadmin-password
</code></pre>
<p>login menggunakan user kubeadmin dan passwordnya yang ada di <em>kubeadmin-password</em></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1761289002439/6bbb7c51-7d81-40af-b4d1-cd727c2486a3.png" alt class="image--center mx-auto" /></p>
<p>jika berhasil maka kita masuk kedalam dashboard ocp dan proses instalasi kita sudah selesai, dan untuk <strong>node bootstrap</strong> bisa dimatikan dan dihapus jika proses instalasi sudah berhasil</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1761289080528/ce2583d2-5da9-40eb-9956-28b3ac6e7b59.png" alt class="image--center mx-auto" /></p>
]]></content:encoded></item><item><title><![CDATA[Upgrade RHEL 8 to 9]]></title><description><![CDATA[Pendahuluan
Red Hat Enterprise Linux (RHEL) 9 menghadirkan banyak peningkatan dari segi performa, keamanan, dan fitur modern seperti kernel 5.14, podman terbaru, serta peningkatan manajemen sistem. Untuk organisasi yang sudah menggunakan RHEL 8, upgr...]]></description><link>https://blog.bayhaqqy.my.id/upgrade-rhel-8-to-9</link><guid isPermaLink="true">https://blog.bayhaqqy.my.id/upgrade-rhel-8-to-9</guid><category><![CDATA[RHEL]]></category><category><![CDATA[RHEL9]]></category><category><![CDATA[upgrade]]></category><dc:creator><![CDATA[Rafli Abdul Bay Haqqy]]></dc:creator><pubDate>Mon, 20 Oct 2025 02:03:33 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1761015476653/35071071-1bbb-4193-a750-47d533fc6b6e.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-pendahuluan"><strong>Pendahuluan</strong></h2>
<p>Red Hat Enterprise Linux (RHEL) 9 menghadirkan banyak peningkatan dari segi performa, keamanan, dan fitur modern seperti kernel 5.14, podman terbaru, serta peningkatan manajemen sistem. Untuk organisasi yang sudah menggunakan RHEL 8, upgrade ke RHEL 9 menjadi langkah strategis untuk memastikan sistem tetap mutakhir dan aman.</p>
<p>Dalam artikel ini, saya akan membagikan panduan langkah demi langkah untuk melakukan upgrade dari RHEL 8 ke RHEL 9 menggunakan metode yang didukung oleh Red Hat, yaitu <strong>leapp</strong>.</p>
<p><strong>Pra-Upgrade</strong></p>
<h3 id="heading-1-versi-rhel-8-yang-didukung">1. Versi RHEL 8 yang Didukung</h3>
<p>Upgrade hanya didukung dari:</p>
<ul>
<li><p>RHEL 8.6 atau lebih tinggi ke</p>
</li>
<li><p>RHEL 9.0 atau lebih tinggi</p>
</li>
</ul>
<p>cek versi pada server</p>
<pre><code class="lang-bash">cat /etc/redhat-release
</code></pre>
<p>kalau semisal untuk versinya dibawah 8.6, bisa upgrade dulu ke 8.6 atau 8.10 baru upgrade ke rhel 9.</p>
<p>2. Pastikan Sistem Terupdate</p>
<p>pastikan kondisi repository versi saat ini dalam kondisi up-to-date sebelum upgrade ke rhel 9.</p>
<pre><code class="lang-bash">dnf update
</code></pre>
<h3 id="heading-3-aktifkan-repositori-yang-dibutuhkan"><strong>3. Aktifkan Repositori yang Dibutuhkan</strong></h3>
<pre><code class="lang-bash">subscription-manager repos --<span class="hljs-built_in">enable</span> rhel-8-for-x86_64-baseos-rpms
subscription-manager repos --<span class="hljs-built_in">enable</span> rhel-8-for-x86_64-appstream-rpms
</code></pre>
<h3 id="heading-4-backup-sistem">4. Backup Sistem</h3>
<p>Ini sangat penting! Lakukan backup penuh atau snapshot VM, terutama:</p>
<ul>
<li><p>/etc</p>
</li>
<li><p>Database</p>
</li>
<li><p>File konfigurasi layanan</p>
</li>
<li><p>Aplikasi kustom</p>
</li>
</ul>
<p>5. Install Leapp Tools</p>
<pre><code class="lang-bash">sudo dnf install leapp-upgrade leapp-data leapp-repository -y
</code></pre>
<p>Upgrade rhel:</p>
<ol>
<li>Pre-upgrade</li>
</ol>
<p>sebelum upgrade rhel ke versi 9, kita jalankan dulu untuk pre upgradenya untuk memastikan bahwa sistem kita tidak ada yang error, dan ini wajib sebelum upgrade karna meminimalisir error saat upgrade.</p>
<pre><code class="lang-bash">leapp preupgrade
</code></pre>
<p>ini akan menjalankan proses simulasi upgrade dan akan mengecek apakah sistem dalam kondisi siap untuk upgrade atau tidak, nanti dari proses ini akan muncul jika ada error atau warning, dan itu bisa di cek pada file <strong>/var/log/leapp/leapp-report.txt.</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeX4W307vWHGZv8zWpqZQbKOtsWfhYMT0MthjyU0OvFinTw1SYRQ8TSOZQvEYzSxDjttFqx3At5SI11v_R728BrVY8wju99pcbupN4P3qI6rDg1buizcIYGLk8Gu6_iTQAyJYyaiw?key=koFVw1Xyn6Dtvm-1a5X4sA" alt /></p>
<p>jika muncul error bisa di selesaikan dulu errornya dan jalankan preupgrade ulang, pastikan hingga tidak ada error, karena jika masih ada error tidak bisa upgrade.</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeHHfZQsbEzXAw4HXRkBZ88aVA_EloHbJspz_CRnBzTnfKghUIwu9zIPF9_sThDPfluE4Fzt6GJXl8zPU6TDr1_57BdYetJuu_hnNxIabilnvVZXc0hctAWPuoQk9-qJDAIcRmt?key=koFVw1Xyn6Dtvm-1a5X4sA" alt /></p>
<ol start="2">
<li>Upgrade Rhel</li>
</ol>
<p>jika proses preupgrade sudah berjalan lancar maka sekarang bisa untuk upgrade, jalankan;</p>
<pre><code class="lang-bash">leap upgrade
</code></pre>
<p>tunggu hingga proses upgrade selesai, dan pastikan untuk connection stabil, untuk proses upgarde mungkin akan memakan waktu 15-30 menit sesuai koneksi jaringan. jika sudah selesai bisa <strong>reboot</strong> system</p>
<ol start="3">
<li>after upgrade </li>
</ol>
<p>setelah selesai upgrade maka kita harus memastikan service yang existing tidak ada yang mengalami error, pertama kita bisa update system dulu lalu cek service apakah ada yang failed. dan yang perlu diperhatikan setelah upgrade untuk service dalam kondisi mati jadi harus mengaktifkan 1/1.</p>
<pre><code class="lang-bash">dnf update
cat /etc/os-release
sudo systemctl list-units --state=failed
systemctl start <span class="hljs-variable">$service</span>
</code></pre>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcl5w-EgvvF0qMmVmLigprs8icj4XUFTxSbbblJOYNN6EbR2wWKvUJ6FJRZy5eNQB-daov6k3ltGt60zFirffnW_KfTi9ToWt1CevaW2EXcggv-RH6bu9yAX-SfFKzOpnuaQXi8Og?key=koFVw1Xyn6Dtvm-1a5X4sA" alt /></p>
]]></content:encoded></item><item><title><![CDATA[Easy Steps to Install OpenShift 4.16 Using Assisted Installer]]></title><description><![CDATA[Apa itu Openshift?
OpenShift adalah sebuah platform container orchestration berbasis Kubernetes yang dikembangkan oleh Red Hat, dirancang untuk membangun, mengembangkan, dan mengelola aplikasi secara otomatis dalam lingkungan cloud.
Secara lebih tekn...]]></description><link>https://blog.bayhaqqy.my.id/easy-steps-to-install-openshift-416-using-assisted-installer</link><guid isPermaLink="true">https://blog.bayhaqqy.my.id/easy-steps-to-install-openshift-416-using-assisted-installer</guid><category><![CDATA[openshift]]></category><category><![CDATA[redhat]]></category><category><![CDATA[OCP]]></category><dc:creator><![CDATA[Rafli Abdul Bay Haqqy]]></dc:creator><pubDate>Mon, 16 Jun 2025 13:11:04 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1750079385132/f13b89d9-767a-4968-8d97-77be760db135.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Apa itu Openshift?</strong></p>
<p><strong>OpenShift</strong> adalah sebuah <strong>platform container orchestration</strong> berbasis <strong>Kubernetes</strong> yang dikembangkan oleh <strong>Red Hat</strong>, dirancang untuk membangun, mengembangkan, dan mengelola aplikasi secara otomatis dalam lingkungan <strong>cloud</strong>.</p>
<p>Secara lebih teknis, OpenShift adalah sebuah <strong>Platform-as-a-Service (PaaS)</strong> yang berfokus pada <strong>kontainerisasi aplikasi</strong> dan mendukung <strong>DevOps workflows</strong> — termasuk otomatisasi build, deployment, scaling, dan monitoring aplikasi di dalam kontainer.</p>
<p>Bayangkan kamu punya banyak aplikasi (misalnya website, API, layanan internal). Setiap aplikasi berjalan dalam kontainer (semacam "kotak kecil" yang membawa aplikasi dan semua yang dibutuhkannya).</p>
<p>Nah, OpenShift adalah sistem <strong>yang mengatur semua kotak kecil itu</strong>, memastikan mereka:</p>
<ul>
<li><p>Berjalan di tempat yang tepat</p>
</li>
<li><p>Bisa saling terhubung</p>
</li>
<li><p>Otomatis dibuat/dihapus kalau ada perubahan</p>
</li>
<li><p>Aman dan bisa diawasi dengan baik</p>
</li>
</ul>
<h2 id="heading-komponen-dan-arsitektur-openshift"><strong>Komponen dan Arsitektur Openshift</strong></h2>
<p>OpenShift terdiri dari beberapa komponen penting, antara lain:</p>
<h3 id="heading-1-kubernetes"><strong>1. Kubernetes</strong></h3>
<p>OpenShift dibangun di atas Kubernetes, yang bertugas mengatur <em>container scheduling</em>, <em>service discovery</em>, <em>auto-scaling</em>, dan <em>self-healing</em> untuk pod (unit terkecil kontainer).</p>
<h3 id="heading-2-cri-o-container-runtime-interface-for-openshift"><strong>2. CRI-O (Container Runtime Interface for OpenShift)</strong></h3>
<p>CRI-O adalah container runtime ringan yang digunakan oleh OpenShift untuk menjalankan container, sebagai alternatif dari Docker.</p>
<h3 id="heading-3-openshift-api-server"><strong>3. OpenShift API Server</strong></h3>
<p>Pusat kontrol utama yang menjadi interface bagi pengguna, CLI, dan UI untuk berinteraksi dengan OpenShift.</p>
<h3 id="heading-4-ingress-controller-dan-router"><strong>4. Ingress Controller dan Router</strong></h3>
<p>Mengatur akses ke aplikasi dari luar cluster menggunakan domain, TLS, dan policy.</p>
<h3 id="heading-5-operator-framework"><strong>5. Operator Framework</strong></h3>
<p>Automasi instalasi dan manajemen aplikasi Kubernetes dengan menggunakan <em>Operators</em>, yang bisa mengelola siklus hidup software kompleks.</p>
<h3 id="heading-6-registry-internal"><strong>6. Registry Internal</strong></h3>
<p>OpenShift menyediakan registry image kontainer internal untuk menyimpan image hasil build aplikasi.</p>
<h3 id="heading-7-monitoring-dan-logging"><strong>7. Monitoring dan Logging</strong></h3>
<p>Terintegrasi dengan <strong>Prometheus</strong>, <strong>Grafana</strong>, <strong>Fluentd</strong>, dan <strong>Elasticsearch</strong> untuk pengawasan performa dan pencatatan log aplikasi.</p>
<h2 id="heading-distribusi-openshift"><strong>Distribusi OpenShift</strong></h2>
<p>Red Hat menyediakan beberapa versi distribusi OpenShift:</p>
<h3 id="heading-1-openshift-container-platform-ocp"><strong>1. OpenShift Container Platform (OCP)</strong></h3>
<p>Versi enterprise penuh, didukung oleh Red Hat. Cocok untuk production environment. Menyediakan full support, SLA, update, dan fitur lengkap.</p>
<h3 id="heading-2-okd-origin-kubernetes-distribution"><strong>2. OKD (Origin Kubernetes Distribution)</strong></h3>
<p>Versi open-source dari OpenShift. Bisa digunakan gratis, tanpa dukungan resmi. Digunakan untuk belajar, testing, dan komunitas.</p>
<h3 id="heading-3-openshift-dedicated"><strong>3. OpenShift Dedicated</strong></h3>
<p>Cluster OpenShift yang dikelola oleh Red Hat di cloud (AWS/GCP). Red Hat menangani semua operasional dan maintenance.</p>
<h3 id="heading-4-red-hat-openshift-service-on-aws-rosa"><strong>4. Red Hat OpenShift Service on AWS (ROSA)</strong></h3>
<p>Versi managed OpenShift di AWS, terintegrasi dengan layanan AWS, tetapi tetap dikelola oleh Red Hat.</p>
<h3 id="heading-5-azure-red-hat-openshift-aro"><strong>5. Azure Red Hat OpenShift (ARO)</strong></h3>
<p>Managed OpenShift di Microsoft Azure, dikembangkan oleh Microsoft &amp; Red Hat bersama.</p>
<h2 id="heading-metode-instalasi-ocp"><strong>Metode Instalasi OCP</strong></h2>
<h3 id="heading-1openshift-assisted-installer"><strong>1.OpenShift Assisted Installer</strong></h3>
<p>Ini tuh kayak kamu install OpenShift <strong>lewat web browser</strong>. Jadi kita tinggal login ke situs Red Hat (console.redhat.com), terus bikin cluster dari sana. Nanti lo dapet ISO buat kita boot ke server fisik kita (bare metal). Server kita bakal konek ke webnya Red Hat dan muncul di sana, tinggal klik-klik buat lanjut proses instalasi. Jadi kita nggak perlu ribet konfigurasi banyak hal manual.</p>
<p><strong>2. instalasi di cloud</strong></p>
<p>Kalau yang ini kta install OCP di cloud kayak AWS, Azure, GCP, atau VMware. Biasanya pakai cara otomatis yang namanya <strong>IPI (Installer-Provisioned Infrastructure)</strong>. kita cuma siapin file setting (kayak region, nama cluster, dll), terus jalankan perintah, dan installer langsung bikinin semua: VM, jaringan, sampai install OCP-nya.</p>
<p><strong>3.instalasi di bare metal.</strong></p>
<p>Nah ini versi yang paling ribet tapi fleksibel. kita install OpenShift di server fisik kita sendiri (bukan cloud). Di sini kita harus <strong>siapin semuanya manual</strong>: server, IP, DNS, storage, load balancer, dll. Namanya cara <strong>UPI (User-Provisioned Infrastructure)</strong>.</p>
<h2 id="heading-pre-install-ocp"><strong>Pre Install OCP</strong></h2>
<ol>
<li>Minimum Hardware</li>
</ol>
<ul>
<li><p>Control plane nodes: At least 4 CPU cores, 16.00 GiB RAM, and 100 GB disk size.</p>
</li>
<li><p>Workers: At least 2 CPU cores, 8.00 GiB RAM, and 100 GB disk size.</p>
</li>
</ul>
<ol start="2">
<li>Buat VM di VMWare</li>
</ol>
<p>karena kita akan menggunakan VM yang kita anggap sebagai bare metal jadi kita harus membuat terlebih dahulu vmnya, bisa buka di vmware dan create VM. untuk nama bebas OS Familinya menggunakan Linux, dan Guest OS versionnya menggunakan CoreOS yang nanti akan kita generate ISOnya.</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeytR0C6vilds7tKhQJD7KIcO5J2CLmUzDU5p8u3Y0yM-IQ1sOYldHhcDUPMSUM4i64ds77jNLc42xfXCqRPLwyS_M_mu3R5-IPsC80fdc5HRZKsW9hYehgFzu6jAV_Oj_DuR-G?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<p>untuk cpunya kita buat 8, RAM 50, HardDisk 300GB. untuk sizenya bisa disesuaikan dengan kebutuhan masing masing. dan karena kita akan membuat 3 control plane jadi buat 3 vm. dan untuk MAC Addressnya bisa disimpan karena akan kita gunakan untuk mendaftarkan</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXepsE08y80zvGhi1iNoeQTuFLqfCB9Q5L_yL081NZaV5OWSOtwsEUq2AuHpmSf1VUyZ92nv_gPYvq-Svlc6RX2lRtWH7hsMpWphFyUxBflK_LH52FRixiY-C8Y0QC3NLwiNLz18?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdx842iBhw1pny7Lgp1JYN_7XF0ChPVDR9o-XfjJhKgvGWF7DHMlBk53J0afFH_kj6BqQdlfuFcoOFJuj9G9gUL5GwoDmHXo3MJ6j-0p3-J_g2g9ClRsHzuOT4xx2c1EUDzmvryWA?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<h2 id="heading-instalasi-ocp-menggunakan-assisted-installer"><strong>Instalasi OCP menggunakan Assisted Installer</strong></h2>
<ol>
<li>Buat cluster di console</li>
</ol>
<p>buka console di <a target="_blank" href="https://console.redhat.com/openshift/cluster-list">console</a>, lalu klik create cluster</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeB5QMw1ZITEkWA0hMhwvcpEjGUnX6ZoO6C8FkfMNJ3khxxomJv8bhESfB_ak-97-dehKbnze78SiE8f2dOb3KU5_9zTQBX5aePHVMwGECYyhY7y6Mv9UO8sEOu3LK-wAOU_SX2sg?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<p>lalu jika sudah pilih tipenya yang <strong>Datacenter&gt;Create Cluster</strong>, karena kita akan menggunakan metode assisted cluster dan kita akan menginstall pada baremetal kita.</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe7j0TF5n6AbL4wmbd20LAbFc0o96iujBdZ7bgem6iIQdCVptNFrK-yXzVfj0EYjXs6XvPpkRE4uML1avQF1c_0uPfkOQbFy6mHtpZPDb9AMGA_pU7oCVz8-EjoSp6HMhtU0PuXoA?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<ol start="2">
<li>Buat cluster detailnya</li>
</ol>
<p>buat nama untuk cluster ocp dan buat bas domainnya juga, ini akan digunakan nanti untuk mengakses cluster ocp kita, lalu pada bagian versi bisa pilih sesuai kebutuhan dan kita akan menggunakan versi 4.16, lalu pada bagian control panel nodes kita pilih 3 untuk mendapatkan HA( High Availability). dan untuk network kita define static agar bisa langsung kita setting IP nodenya. jika sudah klik <strong>Next</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXctqoD0ZNjjiFGes_mp3wy4SQgj_dK2r-tr1L__BpSQtel7o6-mSZt4Ndm9Ya8_Jb-QrMR6vdUltBa-ElFiJgLkFoiqAXGivHIcsOrK8N9CfUl9C-2ugrHmjhEg2GmGgW41_a8DPQ?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<ol start="3">
<li>Konfiguasi Network</li>
</ol>
<p>pada step ini kita perlu setting networknya, pertama kita define dulu untuk dns,ip yang dari router, sama defualt gatewaynya, jika sudah klik next</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdaBev_Xm5ngMcTprCVGn-xlcvkmjJQxIR1cn55MQSOAauGuVPnvvCTx8dgJirjZu5Cha86mUVvh-M7amgTfi__v0an9JALIpwe6ll6GHv-w7VZqj3hvcQPlgHghi7yEEPZBkNotA?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<ol start="4">
<li>Setting Network Node</li>
</ol>
<p>jika sudah setting ip yang dari router, selanjutnya setting network untuk node-nodenya, masukkan MAC-Adress dari vmnya dan ip yang akan kita kasih ke node tersebut, sesuaikan dengan nodenya karna disini kita ada 3 node maka kita buat untuk 3 configuration.</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXegiAQEYMj6cOik3D8rUVEgJJRL4PwUZfpdG2LrEYq-HEeZUoNOxxfloiEBMVWPNA99-6HVZZt8zvzD69pPISlCmhPzzG-1HZHvSOfztJneN6fInjZzlxgItJ1waNsFqerp8oVCdQ?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<ol start="5">
<li>Operator</li>
</ol>
<p>pada saat instalasi kita ditawarkan untuk install operator virtualization dan openshift AI juga, jika memang tidak diperlukan abaikan saja dna klik <strong>Next</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdujNjKNtVfD0EXLWYjUtkdgtjEngkng8zXk5eOFl38SwahrbLVR1BgqUKjqO67d359BtEeljq-wBTRkXqjrygRZmUV4XfTWIv818SLmURiW5q-TTvHow7IjwiVUtrv5ZK92ijOQQ?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<ol start="6">
<li>Add host</li>
</ol>
<p>nah disini kita tambahkan node kita, klik <strong>Add Host</strong></p>
<p>pa</p>
<p>pada provisioning kita pilih type minimal file aja, dan masukkan ssh public key untuk mengakses node clusternya, untuk sshnya bebas bisa menggunakan dari device kita atau siapkan vm untuk controllernya, jika sudah klik <strong>generate ISO</strong>.</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcPEmgF6Mc6olEz2x2XQP88BGLd-47rt8mGClvnsN76dGI5Z2DSR72rzHUDzzqqjFb5q0k8KcJrnqzz7cJlM65dwhYUwDDmqpPojUU022c-9bBL6XYnAx1ZgbbXOTJWs9zzTDcCyA?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<p>nanti kita install untuk isonya, bisa menggunakan <strong>Discovery ISO</strong> dimana nanti akan menginstall di device kita, atau bisa menggunakan command dan kita taruh langsung di vmwarenya.</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc2VDocq8Q3BOicVFtOX34WNpMxtcIRHu3x54v4bgfsePWaGktw51Y2waWYSypeXkvdsGcvM3p95NdmdzhXPLv4BVTabPo_3ZJHRYWmvTQ1uZhye9ZdQZsnKozcnYrJApPuVoAVhQ?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<p>karena kita menggunakan command jadi untuk isonya kita taruh di folder vmware dan kita mount dari database kita, jangan lupa untuk connect dicentang</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdpezMUBDLcO5xmTYGOTck-8pJFZe7uErjyYvZAJ-MdimT_HUTcR4B2nySN40tDPdKMbPojBUb5s-YCoZVuu6scXyiJfvl94u-6VrCbTeX5rCfjkE4-3k88ZLTdNbuiDW8Ms07t?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<ol start="7">
<li>Inisialisasi Hosts</li>
</ol>
<p>jika ada keterangan seperti dibawah ini, kita bisa setting di vm option dengan klik <strong>Edit VM&gt;VM Options</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfkvm8ogUwI1liNQmGujxkGelndmcYq2RXOOcS_qmIm2J8tEIMk_Qive_waNDBWN0eLFwJCzqw4WTdzDV7y-GzCEgcD9IzB-ApLhJD1OWz-Vi_fONCX0kvV3mANR0ffZN7QQJywdQ?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<p>klik pada bagian <strong>Advanced&gt;Edit Configuration</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcNmEfZsYLLsT3R3RskuOt1mWJlaxRDiHvqqRSTpXoejc0p8iWFiNs5orAaLm9uiMfNYTza5dmYxSPT2VMjRM4lRU1wqN4UJ8SlulrFtQEhiSUf3Jl0TMOxeJ1bf0mRuV4Hy7hW?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<p>tambahkan parameter seperti dibawah, lalu restart VMnya dan tunggu</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeoC83waLtSPFWtTiVUMT0ZjbZwOw6dRhIOGyGSrPdSb4WFjtrEnHqol1Bw8MEfDz4I-jSYLuvG2DfklgLhZTedYPrJeqUZHc0kJWS1SfxxRCtEcbce8dfbjeVXIhAoalTmzpnykA?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<p>pastikan semua hosts dalam keadaan ready seperti ini, karena jika tidak maka tidak bisa lanjut untuk step selanjutnya</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdBmJpWuRmSjDW23djiop4JS10HD2NejLa58L0TpI7GeCEQZJNtaPt7cFE3AU1Bdx7O58soBt4Wh1t23QL8a0vxJgzPIPfxdZf8bOVgjZ6hjn9PcvT4iQnujXgW7LO7UtvwpmSu?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<ol start="8">
<li>inisialisasi Storage</li>
</ol>
<p>disini assisted installer akan mengecek storage pada node kita apakah available untuk menginstall ocp atau tidak, jika sudah ready semua bisa klik <strong>Next</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfsNgSttPUvIHR6b66ZzPqrv4oLgBOQf3LLPTj0hcfFK5zZXX5LEa19EClz2i6dLGZkEEaCQS6NCKedCNFSIrVtBeIaWTK8bTe_1suRVGCocxwq83o4JXjIB9xIwQLCfpm_S-o-tQ?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<ol start="9">
<li>Inisialisasi Network</li>
</ol>
<p>untuk machine network kita pilih yang sesuai dengan range yang ada di router, dan kita buat API, dan Ingress IP, ini adalah ip virtual dan bisa gunakan ip yang kosong, ip ini akan digunakan untuk mengakses console kita jika sudah ready semua kita bisa next untuk memulai instalasi</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdT4mScLrXyxevKyuo29UmwxHe2iDEx1rTbELO3Eda2vNgLZPLZ62UgYISnm8DHFNXpUOIGq0TxWDujJbbog3014HUds1_Wx9vyAuZv-sKjZmyXrp3A0U5BzuBTdF7YIBNEmwMWlA?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<ol start="10">
<li>Install Cluster</li>
</ol>
<p>review untuk konfigurasi cluster, jika semuanya sudah sesuai bisa klik Install Cluster dan cluster kita akan memulai instalasi tunggu hingga proses instalasi selesai, proses instalasi ini lumayan memakan waktu jadi bisa ditinggal ngopi dulu</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeHRJxuISzKONDE9ka6C3RAwJhM1G0ijN7nh96054qeJBy20-Gihw8Xs7XBaU2EzUVNqFtAOCC7mw7ubONSjPgpLIYSbwixK8ySlSYy6oHUajobgT6l1kS265RcGyQImOPCCoe2?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXejFcIQ4vnnsxt0OSW9B1EaPt8wHUo2v8QzGeaC6rH1eV0r1cNMNsea4euqJMvuQksuR_7o7Dj0Nb05LS_lHWMEQQGY5anpBGLzs6QpJoA_r-6a-mKPk_9yQvd-xgyD0WOrdABRgA?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<ol start="11">
<li>After Installation</li>
</ol>
<p>nah jika cluster telah selesai instalasi maka akan seperti ini, akan ada <strong>web console URL</strong> dan juga credentials untuk login, dan untuk kubeconfignya bisa di install lalu simpan di master nodenya untuk mengakses cluster lewat CLI, untuk kubeconfignya silahkan bisa diinstall dan diamankan pada node cluster karena dalam 20 hari akan dihapus dari assisted installernya, dan jika sudah kita bisa cek untuk mengakses console kita bisa klik pada <strong>web console URL</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfOCJ759TV1_pnjnsKfpdLVLy6WPkTU5PcyBVUYVGXUoatLaT8nhoh0ouSTkLqtLFp95Py5lvuvULlKAOlpXKB3axXbVbM0NK7b_3pFuNnsl-wawKgK1UeiiJ0BN7S3SqOmvy3XwA?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<p>nah, karena dari device kita tidak terhubung ke dns server cluster maka kita harus define di /etc/hostsnya jika sudah bisa langsung klik pada urlnya</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeibWDPL0wC3vBKmeFurhGceJjdz8l3tn6SaFhtEbYur_uNwD13ungvh-t_b4KZXmZjiF0st20-Tq44oZU-9a7jUcWHVOIoSsfbeoAoAWwQ3WWE0a3REJxWOQg2GsB7s7LTZjANxw?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<ol start="12">
<li>Akses Console</li>
</ol>
<p>nah, nanti kita login menggunkan credentilas yang ada di console assisted installernya</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd6ARG-b2Y3RSbfgzZjl0G0IpA2y-euHM2hVe6eUNx-ufHUlqT4nOFq4jL_pWcO2KMufYiJxUdklv4fiNMXrEtVRPlAaGEifw1gahGVBPLPi-7MwTmpak2M1F_LfFgCqyQyrcwhMA?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<p>dan ini adalah tampilan dashboard console OCP kita, selanjutnya temen temen bisa explore lebih jauh lagi untuk OCPnya</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfcpri0fROHYFTv_M7ybCrlsJk3t7XS8cUjDCRtiOAWsFl-p1aJI8_TFjZPxoc8BSeVWsL0eqZEapzW_laClOE1SfWIkwASi2B6KHu_1WP2T9w0B-v2HWClTesvOaaGeNcqI70IZw?key=RwM0DTs4DFlyXCXa_LRERw" alt /></p>
<h3 id="heading-kesimpulan"><strong>Kesimpulan</strong></h3>
<p>OpenShift adalah platform berbasis Kubernetes yang dikembangkan oleh Red Hat untuk menyederhanakan proses pembangunan, deployment, dan pengelolaan aplikasi berbasis kontainer dalam lingkungan cloud-native. Dengan menyediakan berbagai komponen seperti CRI-O sebagai container runtime, API Server untuk interaksi, Ingress Controller untuk akses dari luar, hingga sistem monitoring yang terintegrasi, OpenShift menjadi solusi komprehensif bagi organisasi yang ingin mengadopsi pendekatan DevOps. Red Hat menyediakan beberapa distribusi seperti OCP (enterprise), OKD (open source), dan layanan managed seperti ROSA dan ARO. Dalam proses instalasi, tersedia beberapa metode, seperti Assisted Installer yang memudahkan pengguna dengan antarmuka berbasis web dan otomatisasi provisioning, serta metode UPI untuk kontrol penuh di bare metal. Persiapan awal seperti pemenuhan spesifikasi hardware dan konfigurasi VM sangat penting untuk kelancaran instalasi. Dengan mengikuti langkah-langkah yang tepat — mulai dari pembuatan cluster, konfigurasi jaringan, hingga instalasi node dan akses ke web console — pengguna dapat memiliki klaster OpenShift yang siap digunakan untuk kebutuhan pengembangan maupun produksi. OpenShift tidak hanya menawarkan kemudahan instalasi dan manajemen, tapi juga memberikan fleksibilitas tinggi dan dukungan terhadap praktik-praktik modern dalam pengelolaan aplikasi kontainer.</p>
]]></content:encoded></item><item><title><![CDATA[How to Deploy OpenStack 2024.2 with Kolla Ansible on Multiple Nodes]]></title><description><![CDATA[Minimum Hardware
Requirements minimum hardware untuk OpenStack:




CriteriaMinimalRecommended



CPU4 core @ 2.4 GHz24 core @ 2.67 GHz

RAM8 GB24 GB or more

HDD2 x 50 GB4 x 500 GB (7200 rpm)

RAIDSoftware RAID-1 (use mdadm as it improves the read p...]]></description><link>https://blog.bayhaqqy.my.id/how-to-deploy-openstack-20242-with-kolla-ansible-on-multiple-nodes</link><guid isPermaLink="true">https://blog.bayhaqqy.my.id/how-to-deploy-openstack-20242-with-kolla-ansible-on-multiple-nodes</guid><dc:creator><![CDATA[Rafli Abdul Bay Haqqy]]></dc:creator><pubDate>Mon, 16 Jun 2025 07:55:26 GMT</pubDate><content:encoded><![CDATA[<h2 id="heading-minimum-hardware"><strong>Minimum Hardware</strong></h2>
<p>Requirements minimum hardware untuk OpenStack:</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td>Criteria</td><td>Minimal</td><td>Recommended</td></tr>
</thead>
<tbody>
<tr>
<td>CPU</td><td>4 core @ 2.4 GHz</td><td>24 core @ 2.67 GHz</td></tr>
<tr>
<td>RAM</td><td>8 GB</td><td>24 GB or more</td></tr>
<tr>
<td>HDD</td><td>2 x 50 GB</td><td>4 x 500 GB (7200 rpm)</td></tr>
<tr>
<td>RAID</td><td>Software RAID-1 (use mdadm as it improves the read performance almost twice)</td><td>Hardware RAID-10</td></tr>
</tbody>
</table>
</div><h2 id="heading-topology"><strong>Topology</strong></h2>
<h2 id="heading-pre-deployment-multinode">Pre-Deployment Multinode</h2>
<ol>
<li><strong>Setting Hostname</strong></li>
</ol>
<pre><code class="lang-bash">hostnamectl set-hostname controller
hostnamectl set-hostname compute1
hostnamectl set-hostname compute2
</code></pre>
<ol start="2">
<li><strong>Set Host</strong></li>
</ol>
<pre><code class="lang-bash">vim /etc/hosts
172.23.12.10 controller
172.23.12.11 compute1
172.23.12.12 compute2
</code></pre>
<ol start="3">
<li><strong>Set Timezone</strong></li>
</ol>
<pre><code class="lang-bash">timedatectl set-timezone Asia/Jakarta
</code></pre>
<ol start="4">
<li><strong>Set NTP-Server</strong></li>
</ol>
<pre><code class="lang-bash">apt install chrony
vim /etc/chrony/chrony.conf

server 0.id.pool.ntp.org iburst
server 1.id.pool.ntp.org iburst
server 2.id.pool.ntp.org iburst
server 3.id.pool.ntp.org iburst

systemctl restart chrony
chronyc sources
</code></pre>
<ol start="5">
<li><strong>Create ssh-keygen</strong></li>
</ol>
<pre><code class="lang-bash">ssh-keygen
ssh-copy-id root@compute1
ssh-copy-id root@compute2
</code></pre>
<h2 id="heading-deployment-multinode">Deployment Multinode</h2>
<ol>
<li><strong>Update dan Instalasi Dependencies</strong></li>
</ol>
<p>pertama update dan upgrade server kita agar dalam kondisi up-to-date, kadang kalo server tidak dalam kondisi up-to-date ketika ingin menginstall sesuatu akan error, selanjutnya install dependecies untuk digunakan virtual environment</p>
<pre><code class="lang-bash">sudo apt update -y &amp;&amp; sudo apt upgrade -y 
sudo apt install -y git python3-dev libffi-dev gcc libssl-dev libdbus-glib-1-dev libdbus-1-dev pkg-config python3.12-venv
</code></pre>
<ol start="2">
<li><strong>Membuat Virtual Environment</strong></li>
</ol>
<p>jika package sudah diinstall, selanjutnya masuk ke mode virtual environment, ini digunakan agar kita tidak menggangu sistem server kita saat konfigurasi</p>
<pre><code class="lang-bash">python3 -m venv /root/kolla-venv
<span class="hljs-built_in">source</span> /root/kolla-venv/bin/activate
</code></pre>
<ol start="3">
<li><strong>Instalasi Kolla-Ansible</strong></li>
</ol>
<p>nah untuk install openstacknya kita gunakan versi yang akan digunakan, karena saat ini kita akan mencoba deploy versi 2024.2(dalmantian), maka gunakan veri 2024.2 jika ingin menggunakan versi lain tinggal ganti saja pada bagian versinya</p>
<pre><code class="lang-bash">pip install -U pip
pip install git+https://opendev.org/openstack/kolla-ansible@stable/2024.2
</code></pre>
<ol start="4">
<li><strong>Konfigurasi Directory Kolla</strong></li>
</ol>
<p>buat direktori untuk digunakan konfigurasi kolla ansiblenya, jadi kita salin konfigurasi yang dibutuhkan dari folder bawaan ke dalam folder /etc/kolla agar lebih mudah untuk mengkonfigurasinya</p>
<pre><code class="lang-bash">sudo mkdir -p /etc/kolla 
sudo chown <span class="hljs-variable">$USER</span>:<span class="hljs-variable">$USER</span> /etc/kolla 
cp -r /root/kolla-venv/share/kolla-ansible/etc_examples/kolla/* /etc/kolla 
cp /root/kolla-venv/share/kolla-ansible/ansible/inventory/multinode /etc/kolla
</code></pre>
<ol start="6">
<li><strong>Create ansible.cfg</strong></li>
</ol>
<pre><code class="lang-bash">mkdir -p /etc/ansible
nano /etc/ansible/ansible.cfg
</code></pre>
<pre><code class="lang-bash">[defaults]
host_key_checking=False
pipelining=True
forks=100
</code></pre>
<ol start="6">
<li><strong>Install Dependecies Kolla</strong></li>
</ol>
<p>kita install semua package yang dibutuhkan untuk mendeploy openstack, dan kita upgrade untuk dockernya agar ke versi yang lebih baru</p>
<pre><code class="lang-bash">kolla-ansible install-deps
pip install --upgrade docker requests urllib3
</code></pre>
<ol start="7">
<li><strong>Konfigurasi TLS dan Host</strong></li>
</ol>
<p>selanjutnya kita edit untuk main configurationnya, ini sangat penting untuk dilakukan karena ketika deploy openstack akan melihat konfigurasi yang kita buat disini, untuk settingannya opsional namun yang akan kita setting sekarang adalah bagian network,interface,backend dan tlsnya. Jika ingin menggunakan http saja pada bagian tls hiraukan saja.</p>
<pre><code class="lang-bash">vim /etc/kolla/globals.yml 

kolla_base_distro: <span class="hljs-string">"ubuntu"</span> 
kolla_internal_vip_address: <span class="hljs-string">"172.23.12.100"</span>
kolla_internal_fqdn: <span class="hljs-string">"internal.rafli.lab"</span>
kolla_external_vip_address: <span class="hljs-string">"172.23.12.200"</span>
kolla_external_fqdn: <span class="hljs-string">"public.rafli.lab"</span>
network_interface: ens192
neutron_external_interface: ens224
enable_haproxy: <span class="hljs-string">"yes"</span>
enable_cinder: <span class="hljs-string">"yes"</span>
enable_cinder_backend_lvm: <span class="hljs-string">"yes"</span>
kolla_enable_tls_internal: <span class="hljs-string">"yes"</span>
kolla_enable_tls_external: <span class="hljs-string">"yes"</span>
kolla_copy_ca_into_containers: <span class="hljs-string">"yes"</span>
kolla_enable_tls_backend: <span class="hljs-string">"yes"</span>
openstack_cacert: <span class="hljs-string">"/etc/ssl/certs/ca-certificates.crt"</span>
kolla_admin_openrc_cacert: <span class="hljs-string">"/etc/ssl/certs/ca-certificates.crt"</span> 


vim /etc/hosts 
172.23.12.100 internal.rafli.lab
172.23.12.200 public.rafli.lab EOF
</code></pre>
<ol start="8">
<li><strong>Konfigurasi multinode</strong></li>
</ol>
<pre><code class="lang-bash">vim /etc/kolla/multinode
</code></pre>
<pre><code class="lang-bash">[control]
controller1 ansible_ssh_user=root ansible_become=True ansible_private_key_file=~/.ssh/id_rsa
[compute]
compute1  ansible_ssh_user=root ansible_become=True ansible_private_key_file=~/.ssh/id_rsa
[network]
controller1
compute1
[monitoring]
controller
[storage]
controller
</code></pre>
<ol start="8">
<li><strong>Generate Certificate</strong></li>
</ol>
<p>karena kita menggunakan TLS jadi kita perlu membuat certificatenya, lalu kita simpan kedalam /etc/ssl/certs, jika tidak menggunakan TLS maka step ini tidak perlu</p>
<pre><code class="lang-bash">kolla-ansible certificates -i /etc/kolla/multinode
cat /etc/kolla/certificates/ca/root.crt &gt;&gt; /etc/ssl/certs/ca-certificates.crt
</code></pre>
<ol start="9">
<li><strong>Setup Storage LVM untuk Cinder</strong></li>
</ol>
<p>pada konfigurasi globlas.yml kita menggunakan lvm untuk backend storagenya, jadi kita perlu membuat disk yang akan dijadikan sebagai backend storage openstacknya, pada bagian backend ini ada banyak pilihan yang bisa digunakan jadi bisa pilih sesuai kebutuhan dan konfigurasinya tentu akan beda juga.</p>
<pre><code class="lang-bash">pvcreate /dev/sdb
vgcreate cinder-volumes /dev/sdb 
vgs
</code></pre>
<ol start="10">
<li><strong>Bootstrapping dan Prechecks</strong></li>
</ol>
<p>jika semua konfigurasi sudah selesai semua maka selanjutnya masuk ke mode tahap pre-deploy, sebelumnya kita buat password untuk openstack, dan lakukan bootstrap untuk mempersiapkan node yang akan menjalankan openstack dan prechecks untuk mengecek semua konfigurasi sebelumnya untuk mengantisipasi error saat deployment</p>
<pre><code class="lang-bash">kolla-genpwd
kolla-ansible bootstrap-servers -i /etc/kolla/multinode
kolla-ansible prechecks -i /etc/kolla/multinode
</code></pre>
<ol start="11">
<li><strong>Deploy OpenStack</strong></li>
</ol>
<p>ketika proses bootstrap dan prechecks sudah selesai, selanjutnya bisa langsung deploy openstacknya, ini akan memakan waktu sekitar kurang lebih 15menit, ketika sudah selesai deploy makan lakukan post-deploy untuk konfigurasi tambahan dan membuat credentials admin</p>
<pre><code class="lang-bash">kolla-ansible deploy -i /etc/kolla/multinode
kolla-ansible post-deploy -i /etc/kolla/multinode
pip install python-openstackclient -c https://releases.openstack.org/constraints/upper/master
</code></pre>
<ol start="12">
<li><strong>Verifikasi OpenStack</strong></li>
</ol>
<p>jika sudah selesai proses deployment maka bisa verifikasi openstacknya apakah sudah running semua, bisa cek pada bagian containernya, endpoint dari openstacknya, ataupun dari horizonnya untuk mengecke apakah ada error atau tidak</p>
<pre><code class="lang-bash">docker ps
<span class="hljs-built_in">source</span> /etc/kolla/admin-openrc.sh
openstack endpoint list
</code></pre>
<ol start="13">
<li>Operational Testing</li>
</ol>
<pre><code class="lang-bash"><span class="hljs-comment"># Internal Network</span>
openstack network create internal-net
openstack subnet create --subnet-range 192.168.0.1/24 --network internal-net --gateway 192.168.0.1 --dns-nameserver 8.8.8.8 internal-subnet

<span class="hljs-comment"># Public Network</span>
openstack network create --share --external --provider-physical-network physnet1 --provider-network-type flat public-net
openstack subnet create --no-dhcp --allocation-pool <span class="hljs-string">'start=172.23.12.30,end=172.23.12.50'</span> --network public-net --subnet-range 172.23.0.0/20 --gateway 172.23.0.1 public-subnet  

<span class="hljs-comment"># Router</span>
openstack router create public-router
openstack router add subnet public-router internal-subnet
openstack router <span class="hljs-built_in">set</span> --external-gateway public-net public-router  

<span class="hljs-comment"># Image</span>
wget http://download.cirros-cloud.net/0.5.2/cirros-0.5.2-x86_64-disk.img
openstack image create --disk-format qcow2 \
  --container-format bare --public \
  --file ./cirros-0.5.2-x86_64-disk.img cirros-0.5.2-image

<span class="hljs-comment"># Keypair</span>
openstack keypair create --public-key /root/.ssh/id_rsa.pub at-openstack-aio-key

<span class="hljs-comment"># Security Group</span>
openstack security group create allow-all
openstack security group rule create --ingress --ethertype IPv4 --protocol icmp allow-all
openstack security group rule create --ingress --ethertype IPv4 --protocol tcp --dst-port 22 allow-all
openstack security group rule create --ingress --ethertype IPv4 --protocol tcp --dst-port 1:65535 allow-all
openstack security group rule create --ingress --ethertype IPv4 --protocol udp --dst-port 1:65535 allow-all  

<span class="hljs-comment"># Flavor</span>
openstack flavor create --id 1 --ram 1024 --disk 10 --vcpus 1 tiny

<span class="hljs-comment"># Instance</span>
openstack server create --image cirros-0.5.2-image --flavor tiny --key-name key-openstack-rafli --network internal-net --security-group allow-all vm-cirros
openstack floating ip create --floating-ip-address 172.23.12.50 public-net 
openstack server add floating ip vm-cirros 172.23.12.50
openstack server list
ssh -o <span class="hljs-string">'PubkeyAcceptedKeyTypes +ssh-rsa'</span> cirros@172.23.12.50
</code></pre>
]]></content:encoded></item><item><title><![CDATA[Upgrade VMWare 8.0 U1 to 8.0 U2]]></title><description><![CDATA[Pernahkan memiliki lingkungan virtual yang berjalan di ESXi 8.0 U1? Sudah saatnya untuk meningkatkan performa dan keamanan infrastruktur kita dengan melakukan upgrade ke ESXi 8.0 U2. Dalam panduan lengkap ini, kita akan membahas langkah-langkah upgra...]]></description><link>https://blog.bayhaqqy.my.id/upgrade-vmware-80-u1-to-80-u2</link><guid isPermaLink="true">https://blog.bayhaqqy.my.id/upgrade-vmware-80-u1-to-80-u2</guid><category><![CDATA[vmware]]></category><category><![CDATA[upgrade]]></category><category><![CDATA[Devops]]></category><category><![CDATA[Cloud Computing]]></category><category><![CDATA[Private Cloud]]></category><dc:creator><![CDATA[Rafli Abdul Bay Haqqy]]></dc:creator><pubDate>Wed, 14 May 2025 10:03:27 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1724230375573/9c310d42-dfc7-409e-9fdd-4cf6eae14441.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Pernahkan memiliki lingkungan virtual yang berjalan di ESXi 8.0 U1? Sudah saatnya untuk meningkatkan performa dan keamanan infrastruktur kita dengan melakukan upgrade ke ESXi 8.0 U2. Dalam panduan lengkap ini, kita akan membahas langkah-langkah upgrade, konfigurasi lanjutan, dan pengujian yang perlu kita lakukan.</p>
<p>ESXi, sebagai hypervisor yang hkital, memungkinkan kita menjalankan beberapa sistem operasi pada satu perangkat keras. Dengan melakukan upgrade ke versi terbaru, kita akan mendapatkan manfaat seperti peningkatan kinerja, fitur-fitur baru yang canggih, dan tambalan keamanan terbaru untuk melindungi data-data penting kita.</p>
<h3 id="heading-mengapa-upgrade-ke-esxi-80-u2"><strong>Mengapa Upgrade ke ESXi 8.0 U2?</strong></h3>
<ul>
<li><p><strong>Peningkatan Performa:</strong> Nikmati kinerja yang lebih baik untuk virtual machine kita, terutama untuk aplikasi yang menuntut sumber daya tinggi.</p>
</li>
<li><p><strong>Fitur Baru:</strong> Akses fitur-fitur terbaru seperti peningkatan manajemen storage, jaringan, dan keamanan.</p>
</li>
<li><p><strong>Perbaikan Bug:</strong> Dapatkan manfaat dari perbaikan bug yang telah diidentifikasi pada versi sebelumnya, meningkatkan stabilitas sistem kita.</p>
</li>
<li><p><strong>Dukungan Hardware Terbaru:</strong> Pastikan kompatibilitas dengan hardware terbaru yang ingin kita gunakan.</p>
</li>
</ul>
<h3 id="heading-langkah-langkah-upgrade-esxi-80-u1-ke-80-u2"><strong>Langkah-langkah Upgrade ESXi 8.0 U1 ke 8.0 U2</strong></h3>
<p><strong>Persiapan:</strong></p>
<ol>
<li><p><strong>Backup:</strong> Selalu lakukan backup lengkap dari konfigurasi ESXi dan data virtual machine kita sebelum memulai proses upgrade.</p>
</li>
<li><p><strong>Verifikasi Kompatibilitas:</strong> Pastikan semua hardware dan software yang digunakan kompatibel dengan ESXi 8.0 U2.</p>
</li>
<li><p><strong>Rencanakan Waktu Henti:</strong> Tentukan waktu yang paling tepat untuk melakukan upgrade agar tidak mengganggu operasional bisnis.</p>
</li>
</ol>
<p><strong>Proses Upgrade:</strong></p>
<ol>
<li><strong>Unduh File Patching 8.U2</strong></li>
</ol>
<p>Kita bisa unduh file patchingnya di <a target="_blank" href="https://support.broadcom.com/web/ecx/solutiondetails?patchId=1163">broadcom.com</a>, karena kita akan update ke 8.u2 maka kita mencari filenya yang sesuai</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdJlSic058IV2Qw4Hjh7b7ZawipeFTVMHbzrBN0-YwETTfHmJXDbEvnzPhlL_fphSd7hg_izdPvIaloT4zBLrjUwjK4GNc12HthtpyIBmuA4Dd4cpr-y-6dt1OQnW4_h2sjYi1xzl2GFQTALnFC1fG9U7g?key=iCIIhPTWbgqtZmLHPxB3vw" alt /></p>
<ol start="2">
<li><strong>Upload Ke Vmware</strong></li>
</ol>
<p>Jika filenya sudah di download maka selanjutnya kita bisa upload file tersebut kedalam vmware kita. Masuk ke vmware dan klik <strong>Storage&gt;Datastore Browser</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdDioszxZa4-uskLEk1h5ENbSgjoyAE1cyV-iB28ztL_pSNfpsbkqefxIcv189PztKS-bQHQA05lvbSbkxUiDU1Qvy2GFQvg3t9pY4nz_WI0VtegAjCR7FNUDc1ZVOrHDa8pOBvySdi8FO6JyyFK8AXy1Um?key=iCIIhPTWbgqtZmLHPxB3vw" alt /></p>
<p>Klik <strong>Upload</strong> lalu upload file patching yang sudah di download, setelah itu tunggu sampai proses upload selesai</p>
<ol start="3">
<li><strong>Masuk Mode Maintenance</strong></li>
</ol>
<p>Klik <strong>Host&gt;Actions</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfPWuKYF8Ddt7YG-17PFpLuBA4OjAwuQrnBfFpUG9_hlICzWl4pE7EEMchxQOLycMDRofo1mm76F28x3WoNLOOaoQ6Ahnh-MwEv-r_3nx226o9-SGBwAICf2lqVSDsYh535UNI4ejYxN3U_cVQracvUpfSU?key=iCIIhPTWbgqtZmLHPxB3vw" alt /></p>
<p>Lalu klik <strong>Enter Mode Maintenance</strong>, jika sudah maka tampilannya akan seperti dibawah</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfV-APStIkTGV0mAUNj2EyE4Xu1-MoxafunvU4EuyD6jNemurSUDmLf7XSW9QPkzvperfk7UaI95eGKTgB4IncpGoT6BaAyjm61qVhoVoIlQOTVRA-arHVColLrjulXLA2o4LJyVvztT_L_r1rVG1dbBxHn?key=iCIIhPTWbgqtZmLHPxB3vw" alt /></p>
<ol start="4">
<li><strong>Patching ke 8.u2</strong></li>
</ol>
<ol>
<li><strong>Masuk ke directory datastore</strong></li>
</ol>
<pre><code class="lang-bash"><span class="hljs-built_in">cd</span> /vmfs/volumes/datastore1/
</code></pre>
<ol start="2">
<li><strong>Daftar profile yang tersedia dalam file depot</strong></li>
</ol>
<pre><code class="lang-bash">esxcli software sources profile list -d /vmfs/volumes/datastore1/VMware-ESXi-8.0U2-22380479-depot.zip
</code></pre>
<ol start="3">
<li><strong>Lakukan update menggunakan profile yang sesuai (ganti 'ESXi-8.0U2-22380479-standard' sesuai hasil list)</strong></li>
</ol>
<pre><code class="lang-bash">esxcli software profile update -d /vmfs/volumes/datastore1/VMware-ESXi-8.0U2-22380479-depot.zip -p ESXi-8.0U2-22380479-standard
</code></pre>
<ol start="4">
<li><strong>Reboot untuk menerapkan patch</strong></li>
</ol>
<pre><code class="lang-bash">reboot
</code></pre>
<p><strong>Pengecekan dan Keluar Dari Mode Maintenance</strong></p>
<p>Tunggu sampai reboot selesai lalu masuk ke vmware lagi dan cek apakah sudah update atau belum, jika seperti dibawah maka kita telah berhasil patching ke 8.U2</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfhOS1IZ2XgblUXdTKJLvre9wOjK67-H77L8QjRbUIYDHZB7OsF2HCCm72Tcqs6HYIxfzE9Bt1AM1rIpiO-6NBTUN2HynmR__wL0JEJ0N_jzIw0ILnBcjI5ncUrMMmcULQBtQG36fQlnivnkXhaHQlB63FI?key=iCIIhPTWbgqtZmLHPxB3vw" alt /></p>
<p>jika sudah klik <strong>Actions&gt;Exit Mode Maintenance</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeOSo6gxC_duhALJibosQsYBkkj-sluwj18xPxtvyY5X_dEJEAMq8LkU2uHv-wCm2MZ8LnhcOe-FXYHmrV0gLNcn6IDuQyxmNgikT_dFlwANI5p1Dp2SEMCNhi1g7fk7bSbJg9-B-xcF0FdGUaui4pq6Jk?key=iCIIhPTWbgqtZmLHPxB3vw" alt /></p>
<p><strong>Verifikasi:</strong></p>
<p>Setelah proses upgrade selesai, lakukan verifikasi menyeluruh untuk memastikan semua fitur berfungsi dengan baik. Periksa konfigurasi jaringan, storage, dan virtual machine kita. Selain itu, jangan lupa untuk memeriksa log sistem untuk memastikan tidak ada kesalahan yang terjadi selama proses upgrade.</p>
<h3 id="heading-konfigurasi-lanjutan"><strong>Konfigurasi Lanjutan</strong></h3>
<p><strong>Autostart VM:</strong></p>
<p>Untuk meningkatkan ketersediaan layanan, aktifkan fitur autostart pada virtual machine yang kritis. Dengan fitur ini, virtual machine akan secara otomatis hidup saat host ESXi dihidupkan. Dibawah ini merupakan langkah-langkah autostart VM</p>
<ol>
<li><strong>Enable Autostart vm</strong></li>
</ol>
<p>masuk ke vmware lalu klik <strong>Manage&gt;Autostart&gt;Edit Settings</strong>.dibagian ini konfigurasinya opsional tergantung dari kebutuhan masing masing</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfMEwtcH5ByeYBCi2vBDsG1vywA_yryfFi7hqoZsTq1CFljzWnjvJblw7kJVDd8kStGgyzN636gaG2rSMB9pd2WvKUhKNjJWxsXlv-htQpyKM7z9aDLS3EZ0LWO7ksOk3Pm1yVL87UIyogGVuFP0evfVNK-?key=iCIIhPTWbgqtZmLHPxB3vw" alt /></p>
<p>Konfigurasi ini mengatur agar VM dimulai secara otomatis 10 detik setelah host menyala dan dimatikan 10 detik setelah perintah shutdown diberikan, mengikuti tindakan default sistem untuk proses shutdown. jika sudah kita bisa enable vm yang ingin kita autostart</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe541CC1JmVzA9Qm0D33zp8-ZW-L7vK1nUtuDTvvAkHhE0DMUBUJSQc0UJNcLcdFLJQ_aFRvLAM95VBnFH43OAVJp0tWj_88pNYjKlQVRdg9nTZx6gMeeNJGAxXvBEuppBhU52iISSDk7tbPFFLgJDeQ_gB?key=iCIIhPTWbgqtZmLHPxB3vw" alt /></p>
<p><strong>RBAC (Role-Based Access Control):</strong></p>
<p>Implementasikan RBAC untuk meningkatkan keamanan lingkungan virtual kita. Dengan RBAC, kita dapat memberikan hak akses yang berbeda-beda kepada pengguna berdasarkan peran mereka. dibawah ini adalah langkah-langkah mengatur role basednya.</p>
<ol>
<li><strong>Membuat User</strong></li>
</ol>
<p>Masuk ke Vmware dan klik <strong>Manage&gt;Security &amp; Users&gt; Add User</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcJo5zeqR85qrZb8g6wAwg80KKuPRIGxYDQj-WwbRZ_TBqcEoyY9M-70w4-8c6asoWlSoRIB5pjUCSPICl6YUCoZQv01Y_QEI1OUAxu2CxqSIlggrRYn44I8yOnC93a0-8JxcArNqE2uE137Ka43R_HNgn6?key=iCIIhPTWbgqtZmLHPxB3vw" alt /></p>
<p>Kita buat tambahkan nama,deskripsi dan passwordnya dengan ketentuan, jika sudah klik <strong>ADD</strong></p>
<ol start="2">
<li><strong>Setting Role ke User</strong></li>
</ol>
<p>Untuk mengatur permission kita bisa klik <strong>Host&gt;Actions&gt;Permissions&gt;Add User</strong>, jika sudah klik <strong>Add User,</strong> dengan contoh kita buat <strong>User</strong> Rafli dengan <strong>Role=Read-Only</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc34ur6LinPvzRZ-0H1eth0Wv4GQbP7kOJoHs4EKjDFFYkctG7pNBlY5U2rBH002a8w9ALyBORk1L-b_Xy1FhNWyw1CZibk-2vSCDf_eKTTXm8u-aaL0CgjKNBR5bCzeo-XeV7iVRRBlmriXNFB6rw10wI?key=iCIIhPTWbgqtZmLHPxB3vw" alt /></p>
<ul>
<li><p><strong>No Trusted Infrastructure administrator</strong>: Pengguna tidak memiliki hak sebagai administrator infrastruktur yang dipercaya.</p>
</li>
<li><p><strong>Trusted Infrastructure administrator</strong>: Pengguna memiliki hak administrator pada infrastruktur yang dipercaya.</p>
</li>
<li><p><strong>No cryptography administrator</strong>: Pengguna tidak memiliki hak administrator terkait kriptografi.</p>
</li>
<li><p><strong>No access</strong>: Pengguna tidak memiliki akses ke host sama sekali.</p>
</li>
<li><p><strong>Read-only</strong>: Pengguna hanya dapat melihat konfigurasi dan status, tetapi tidak dapat mengubah apa pun.</p>
</li>
<li><p><strong>Administrator</strong>: Pengguna memiliki hak penuh untuk mengelola host.</p>
</li>
</ul>
<ol start="3">
<li><strong>Pengecekan</strong></li>
</ol>
<p>Jika sudah, kita coba cek dengan login user rafli, kita coba klik <strong>Virtual-Machines</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXctdTbfRR-bvtPR224w6cx31O6JytbhKyMN_41H2k__WhNlOZ74x4mUsJw8_WHXOfa64FYxspbbEw7VffC9mdFes0s_g9w9R6YXDB9fU1G35Ez-qoMcdUSKyW_DP4WpuPPCrJhbENWZeQ850_R0rOSMI0dU?key=iCIIhPTWbgqtZmLHPxB3vw" alt /></p>
<p>bisa dilihat bahwa dengan user rafli ini kita hanya bisa melihat konfigurasi dan status, tidak bisa mengubah seperti mematikan/menyalakan vm maupun mengakses datastorenya</p>
<p><strong>NIC Teaming, Storage Backbone, dan Migrasi Backbone:</strong></p>
<ul>
<li><p><strong>NIC Teaming:</strong> Tingkatkan ketersediaan jaringan dan bandwidth dengan mengkonfigurasi NIC teaming.</p>
</li>
<li><p><strong>Storage Backbone:</strong> Optimalkan kinerja storage dengan merancang storage backbone yang efisien.</p>
</li>
<li><p><strong>Migrasi Backbone:</strong> Lakukan migrasi backbone jika diperlukan untuk mengakomodasi pertumbuhan data atau perubahan infrastruktur.</p>
</li>
</ul>
<p>Berikut Merupakan Langkah-langkah untuk mengkonfigurasi NIC,Storage backbone dan jalur untuk migrasi backbone</p>
<ol>
<li><strong>Add Vswitch</strong></li>
</ol>
<p>Pertama kita buat dulu Vswitchnya untuk mengelola jalur yang akan kita gunakan sebagai migrasi backbone, Klik <strong>Networking&gt;Virtual Switches&gt;add</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdSgnot7qA_u18dMyQr8irSBRk5OGTKus8n4iu93vyYp2tIhve_T_jnTWaHNqYb6yYXRQkFFL9PMLAslh8yPpKYzX9kpdQplmmPUrkwLuJVK7ICSo3Qp3XCATHkRVUEwQdKl1rqUayaQ2xNpc57Mf3uRPyu?key=iCIIhPTWbgqtZmLHPxB3vw" alt /></p>
<p>Buat nama Vswitchnya, lalu pilih uplink yang tersedia karena kita akan gunakan untuk failover dan load balancing nantinya, maka kita buat 2 uplinknya jika sudah klik <strong>Add</strong></p>
<ol start="2">
<li><strong>Add Port Group</strong></li>
</ol>
<p>selanjutnya kita buat port group untuk mengelompokkan jalur ke Vswitch yang sebelumnya kita buat Klik <strong>Port Group&gt;Add&gt;Add</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfAhfWhKnRceHZoetKDva4kEL1KquE1jRsVItLYulM0xGILHk8J7VPhKPDwomJmqL4ldUi4oHWxd6AGyd0xCyW1-7kATxC6NBtMdnOTAK5jUUQYKLwg2OFPnc8KpxHwQx_rjgMWPwBCSNt-tUDt_5Z5_MEu?key=iCIIhPTWbgqtZmLHPxB3vw" alt /></p>
<p>Buat Nama Groupnya lalu buat juga VLAN IDnya, setelah itu kita arahkan Vswitchnya dengan yang kita buat sebelumnya</p>
<ol start="3">
<li><strong>Add VMKernel</strong></li>
</ol>
<p>langkah terakhir kita buat vmkernel untuk mengelola lalu lintas jaringan yang akan kita gunakan untuk migrasi <strong>VMKernel&gt;Add&gt;Add</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXewuA7HFe7DKQyaPNik-4hHxhp1Xok92sus9Hu1NClQSsQCE3H-q-WCR_W6GW3YNMGVLq9TVdPndDujwJAB_pm5BQVjGFtKZ5lMsxzDaIfQ-BhwZPLipcHv7mLmEX6_0sOto2mZ7rvUA8446NFcLUAZY8ZA?key=iCIIhPTWbgqtZmLHPxB3vw" alt /></p>
<p>Kita arahkan poernya ke group NIC, lalu untuk ipnya tergantung kebutuhan, bisa menggunakan dhcp maupun static jika sudah klik <strong>Create</strong> maka NIC Teaming sudah selesai</p>
<h3 id="heading-testing-ping"><strong>Testing (Ping)</strong></h3>
<p>Lakukan pengujian ping untuk memverifikasi konektivitas jaringan setelah melakukan konfigurasi. Pastikan virtual machine dapat berkomunikasi dengan host ESXi dan jaringan eksternal.</p>
<p>buka terminal dari VMwarenya lalu kita ping ke ip 192.168.0.1</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfdB_oExmnO6ai4yFgNe8FJMd0aZjK7-dm04PMXkfqyuxVS_I6s3FTaPZguRCFYiMBcYtL2X7omrPNMOQd9Gg6HyQ9qBu46cgGMDG_x1KlIeh7p1kAZQ6G1SevPCjfznIS6rDJOIRQViI3b-YLQqfu6-A9z?key=iCIIhPTWbgqtZmLHPxB3vw" alt /></p>
<p>nah, konfigurasi kita untuk membuat jalur migrasi telah selesai, selanjutnya kita kita akan melakukan load balancing/failover bisa menggunakan jaringan vswitch migrasi</p>
<h3 id="heading-kesimpulan"><strong>Kesimpulan</strong></h3>
<p>Dengan mengikuti panduan ini, kita telah berhasil melakukan upgrade ke ESXi 8.0 U2 dan meningkatkan performa serta keamanan lingkungan virtual kita.  Fitur-fitur seperti RBAC, NIC teaming, dan storage backbone yang canggih memungkinkan kita untuk mengelola lingkungan virtual dengan lebih efisien.Kini, kita dapat menjalankan aplikasi-aplikasi bisnis kita dengan lebih lancar dan aman</p>
]]></content:encoded></item><item><title><![CDATA[How to Install OpenStack 2024.2 All-In-One With Kolla-Ansible]]></title><description><![CDATA[OpenStack: Platform Cloud Computing Terbuka
Apa itu OpenStack?
OpenStack adalah platform cloud computing open-source yang memungkinkan penyediaan dan pengelolaan infrastruktur cloud (IaaS - Infrastructure as a Service) secara fleksibel dan terukur. D...]]></description><link>https://blog.bayhaqqy.my.id/how-to-install-openstack-20242-all-in-one-with-kolla-ansible</link><guid isPermaLink="true">https://blog.bayhaqqy.my.id/how-to-install-openstack-20242-all-in-one-with-kolla-ansible</guid><category><![CDATA[Cloud Computing]]></category><category><![CDATA[kolla-ansible]]></category><category><![CDATA[openstack]]></category><category><![CDATA[Open Source]]></category><category><![CDATA[dalmatian]]></category><dc:creator><![CDATA[Rafli Abdul Bay Haqqy]]></dc:creator><pubDate>Wed, 14 May 2025 05:04:41 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1747198952102/3062e839-61a1-452e-baf7-33f2a3367519.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-openstack-platform-cloud-computing-terbuka"><strong>OpenStack: Platform Cloud Computing Terbuka</strong></h2>
<h4 id="heading-apa-itu-openstack"><strong>Apa itu OpenStack?</strong></h4>
<p>OpenStack adalah platform cloud computing open-source yang memungkinkan penyediaan dan pengelolaan infrastruktur cloud (IaaS - Infrastructure as a Service) secara fleksibel dan terukur. Dikembangkan pertama kali oleh NASA dan Rackspace pada tahun 2010, OpenStack kini menjadi salah satu platform cloud open-source paling populer yang dikelola oleh OpenInfra Foundation.</p>
<p>OpenStack dirancang untuk mengelola berbagai sumber daya cloud, termasuk komputasi, jaringan, dan penyimpanan, melalui antarmuka API yang konsisten dan dapat diakses melalui Command Line Interface (CLI) maupun antarmuka web (Horizon). Dengan arsitektur modular, OpenStack memungkinkan pengguna untuk memilih dan mengonfigurasi layanan cloud sesuai kebutuhan mereka.</p>
<h2 id="heading-sejarah-dan-perkembangan-openstack"><strong>Sejarah dan Perkembangan OpenStack</strong></h2>
<p>OpenStack terus berkembang melalui rilis berkala setiap enam bulan, dan setiap rilis diberi nama kode berdasarkan urutan alfabet. Berikut adalah sejarah singkat perkembangan OpenStack dari awal hingga rilis terbaru:</p>
<ul>
<li><p><strong>2010: Rilis Pertama - Austin</strong><br />  Rilis pertama dari OpenStack yang hanya memiliki dua layanan utama: Compute (Nova) dan Object Storage (Swift).</p>
</li>
<li><p><strong>2011-2014: Perkembangan Pesat</strong><br />  Komponen baru mulai ditambahkan seperti Glance (Image), Keystone (Identity), dan Horizon (Dashboard).</p>
</li>
<li><p><strong>2015: Peningkatan Stabilitas dan Skalabilitas</strong><br />  OpenStack semakin diadopsi oleh perusahaan besar dengan peningkatan stabilitas pada layanan jaringan (Neutron) dan penyimpanan (Cinder).</p>
</li>
<li><p><strong>2017-2019: Dukungan Multi-Cloud dan Orkestrasi</strong><br />  Rilis Pike, Queens, dan Rocky menghadirkan fitur orkestrasi (Heat), manajemen container (Magnum), dan keamanan yang lebih baik.</p>
</li>
<li><p><strong>2020-2022: Dukungan Hybrid Cloud</strong><br />  Rilis Victoria, Wallaby, Xena, dan Yoga menambahkan peningkatan keamanan, kinerja, dan dukungan untuk integrasi hybrid cloud.</p>
</li>
<li><p><strong>2023-2024: Fokus pada Skalabilitas dan Keamanan</strong><br />  Rilis Bobcat, Caracal, dan Dalmatian menawarkan peningkatan performa, pengelolaan container yang lebih baik, dan fitur keamanan yang lebih kuat.</p>
</li>
</ul>
<h2 id="heading-versi-versi-openstack"><strong>Versi-Versi OpenStack</strong></h2>
<p>Berikut adalah daftar rilis OpenStack terbaru dan beberapa rilis terkenal sebelumnya:</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Rilis</strong></td><td><strong>Tahun</strong></td><td><strong>Fokus Utama</strong></td></tr>
</thead>
<tbody>
<tr>
<td>Epoxy</td><td>2025.1</td><td>Migrasi VMware, optimasi beban kerja AI, peningkatan storgae(cinder)</td></tr>
<tr>
<td>Dalmatian</td><td>2024.2</td><td>Peningkatan performa, keamanan, dan stabilitas.</td></tr>
<tr>
<td>Caracal</td><td>2024.1</td><td>Integrasi container yang lebih baik.</td></tr>
<tr>
<td>Bobcat</td><td>2023.2</td><td>Skalabilitas jaringan dan manajemen resource.</td></tr>
<tr>
<td>Antelope</td><td>2023.1</td><td>Peningkatan manajemen storage dan jaringan.</td></tr>
<tr>
<td>Zed</td><td>2022.2</td><td>Pengelolaan API dan keamanan yang lebih kuat.</td></tr>
<tr>
<td>Yoga</td><td>2022.1</td><td>Efisiensi resource dan optimisasi keamanan.</td></tr>
<tr>
<td>Xena</td><td>2021.2</td><td>Peningkatan performa komputasi dan penyimpanan.</td></tr>
<tr>
<td>Wallaby</td><td>2021.1</td><td>Optimalisasi jaringan dan keamanan.</td></tr>
<tr>
<td>Victoria</td><td>2020.2</td><td>Dukungan multi-cloud dan penyimpanan.</td></tr>
</tbody>
</table>
</div><h2 id="heading-arsitektur-openstack"><strong>Arsitektur OpenStack</strong></h2>
<p>OpenStack memiliki arsitektur modular yang terdiri dari beberapa komponen utama, masing-masing bertanggung jawab untuk menyediakan layanan tertentu dalam cloud. Berikut adalah penjelasan lengkap tentang setiap komponen:</p>
<h4 id="heading-1-compute-service-nova"><strong>1. Compute Service (Nova)</strong></h4>
<ul>
<li><p>Fungsi: Menyediakan dan mengelola instance komputasi (VM).</p>
</li>
<li><p>Teknologi: Mendukung berbagai hypervisor seperti KVM, QEMU, VMware, Xen.</p>
</li>
<li><p>Fitur Utama:</p>
<ul>
<li><p>Manajemen instance (start, stop, reboot).</p>
</li>
<li><p>Live migration antar host.</p>
</li>
<li><p>Dukungan multi-hypervisor.</p>
</li>
<li><p>Auto-scaling dengan Heat.</p>
</li>
</ul>
</li>
</ul>
<h4 id="heading-2-networking-service-neutron"><strong>2. Networking Service (Neutron)</strong></h4>
<ul>
<li><p>Fungsi: Mengelola jaringan virtual dan konektivitas untuk instance.</p>
</li>
<li><p>Teknologi: Mendukung berbagai backend jaringan (Open vSwitch, Linux Bridge).</p>
</li>
<li><p>Fitur Utama:</p>
<ul>
<li><p>Dukungan VLAN, VXLAN, dan flat network.</p>
</li>
<li><p>IP Floating (IP publik untuk instance).</p>
</li>
<li><p>Load Balancer (Octavia).</p>
</li>
<li><p>Firewall (Security Group).</p>
</li>
</ul>
</li>
</ul>
<h4 id="heading-3-block-storage-cinder"><strong>3. Block Storage (Cinder)</strong></h4>
<ul>
<li><p>Fungsi: Menyediakan penyimpanan block untuk instance (seperti hard disk virtual).</p>
</li>
<li><p>Backend: LVM, Ceph, NFS, NetApp, Dell EMC.</p>
</li>
<li><p>Fitur Utama:</p>
<ul>
<li><p>Snapshot dan clone volume.</p>
</li>
<li><p>Manajemen kuota.</p>
</li>
<li><p>Dukungan multi-backend.</p>
</li>
</ul>
</li>
</ul>
<h4 id="heading-4-object-storage-swift"><strong>4. Object Storage (Swift)</strong></h4>
<ul>
<li><p>Fungsi: Menyediakan penyimpanan object yang scalable.</p>
</li>
<li><p>Arsitektur: Multi-tenant dan multi-region.</p>
</li>
<li><p>Fitur Utama:</p>
<ul>
<li><p>Replikasi data.</p>
</li>
<li><p>Dukungan versi file.</p>
</li>
<li><p>Penyimpanan objek statik (gambar, video, file).</p>
</li>
</ul>
</li>
</ul>
<h4 id="heading-5-image-service-glance"><strong>5. Image Service (Glance)</strong></h4>
<ul>
<li><p>Fungsi: Mengelola dan mendistribusikan image (template) untuk instance.</p>
</li>
<li><p>Format Dukungan: RAW, QCOW2, VHD, VMDK, ISO.</p>
</li>
<li><p>Fitur Utama:</p>
<ul>
<li><p>Upload dan manajemen image.</p>
</li>
<li><p>Manajemen kuota image.</p>
</li>
<li><p>Penyimpanan image multi-backend.</p>
</li>
</ul>
</li>
</ul>
<h4 id="heading-6-identity-service-keystone"><strong>6. Identity Service (Keystone)</strong></h4>
<ul>
<li><p>Fungsi: Manajemen autentikasi dan otorisasi pengguna.</p>
</li>
<li><p>Fitur Utama:</p>
<ul>
<li><p>Dukungan multi-domain.</p>
</li>
<li><p>Multi-tenant.</p>
</li>
<li><p>Role-Based Access Control (RBAC).</p>
</li>
<li><p>Dukungan integrasi dengan LDAP, SAML, OAuth.</p>
</li>
</ul>
</li>
</ul>
<h4 id="heading-7-dashboard-horizon"><strong>7. Dashboard (Horizon)</strong></h4>
<ul>
<li><p>Fungsi: Antarmuka web grafis untuk manajemen cloud.</p>
</li>
<li><p>Teknologi: Django (Python).</p>
</li>
<li><p>Fitur Utama:</p>
<ul>
<li><p>Manajemen instance, jaringan, dan penyimpanan.</p>
</li>
<li><p>Manajemen user dan role.</p>
</li>
<li><p>Monitoring resource cloud.</p>
</li>
</ul>
</li>
</ul>
<h4 id="heading-8-orchestration-service-heat"><strong>8. Orchestration Service (Heat)</strong></h4>
<ul>
<li><p>Fungsi: Mengelola orkestrasi aplikasi berbasis template (HOT - Heat Orchestration Template).</p>
</li>
<li><p>Fitur Utama:</p>
<ul>
<li><p>Auto-scaling aplikasi.</p>
</li>
<li><p>Dependency management.</p>
</li>
<li><p>Manajemen stack.</p>
</li>
</ul>
</li>
</ul>
<h4 id="heading-9-telemetry-service-ceilometer"><strong>9. Telemetry Service (Ceilometer)</strong></h4>
<ul>
<li><p>Fungsi: Monitoring dan pengumpulan data metrik resource.</p>
</li>
<li><p>Fitur Utama:</p>
<ul>
<li><p>Pengukuran penggunaan resource.</p>
</li>
<li><p>Integrasi dengan dashboard (Horizon).</p>
</li>
<li><p>Manajemen metrik multi-tenant.</p>
</li>
</ul>
</li>
</ul>
<h4 id="heading-10-bare-metal-provisioning-ironic"><strong>10. Bare Metal Provisioning (Ironic)</strong></h4>
<ul>
<li><p>Fungsi: Menyediakan layanan provisioning untuk server fisik (bare metal).</p>
</li>
<li><p>Fitur Utama:</p>
<ul>
<li><p>Dukungan multi-tenant.</p>
</li>
<li><p>Provisioning otomatis server fisik.</p>
</li>
<li><p>Manajemen hardware secara remote.</p>
</li>
</ul>
</li>
</ul>
<h2 id="heading-integrasi-komponen-openstack"><strong>Integrasi Komponen OpenStack</strong></h2>
<p>Setiap komponen OpenStack saling terintegrasi untuk membentuk platform cloud yang lengkap:</p>
<ul>
<li><p><strong>Nova (Compute)</strong> menggunakan <strong>Neutron (Networking)</strong> untuk mengelola jaringan instance dan <strong>Cinder (Block Storage)</strong> untuk penyimpanan instance.</p>
</li>
<li><p><strong>Keystone (Identity)</strong> berfungsi sebagai pusat autentikasi untuk semua layanan.</p>
</li>
<li><p><strong>Horizon (Dashboard)</strong> memberikan akses GUI untuk pengguna.</p>
</li>
<li><p><strong>Heat (Orchestration)</strong> memungkinkan pengelolaan aplikasi multi-resource dengan template.</p>
</li>
<li><p><strong>Swift (Object Storage)</strong> menyediakan penyimpanan objek yang scalable.</p>
</li>
</ul>
<h2 id="heading-kolla-ansible-solusi-deployment-otomatis-untuk-openstack"><strong>Kolla Ansible: Solusi Deployment Otomatis untuk OpenStack</strong></h2>
<h4 id="heading-apa-itu-kolla-ansible"><strong>Apa itu Kolla Ansible?</strong></h4>
<p>Kolla Ansible adalah sebuah proyek dari OpenStack yang menyediakan metode deployment OpenStack berbasis container menggunakan Ansible sebagai alat otomasi. Kolla Ansible memanfaatkan Docker sebagai container runtime dan Ansible sebagai platform otomasi, sehingga memudahkan proses instalasi, konfigurasi, dan pengelolaan OpenStack.</p>
<p>Kolla Ansible didesain untuk menyediakan solusi deployment OpenStack yang <strong>mudah, cepat, stabil, dan fleksibel</strong>, baik untuk lingkungan development, testing, hingga production.</p>
<h2 id="heading-mengapa-memilih-kolla-ansible-untuk-deployment-openstack"><strong>Mengapa Memilih Kolla Ansible untuk Deployment OpenStack?</strong></h2>
<p>Kolla Ansible memiliki beberapa keunggulan yang menjadikannya pilihan populer untuk deployment OpenStack, antara lain:</p>
<ul>
<li><p><strong>Otomatisasi Lengkap:</strong> Proses deployment, upgrade, dan maintenance OpenStack dilakukan secara otomatis menggunakan Ansible.</p>
</li>
<li><p><strong>Berbasis Container:</strong> Setiap layanan OpenStack dijalankan dalam container Docker, memastikan isolasi layanan dan memudahkan upgrade.</p>
</li>
<li><p><strong>Mudah Dikustomisasi:</strong> File konfigurasi dapat diubah sesuai kebutuhan tanpa mengganggu stabilitas sistem.</p>
</li>
<li><p><strong>Dukungan Multi-Node:</strong> Dapat digunakan untuk deployment skala kecil (All-in-One) maupun skala besar (Multi-Node).</p>
</li>
<li><p><strong>Skalabilitas:</strong> Menambahkan node baru dalam cluster dapat dilakukan dengan mudah.</p>
</li>
<li><p><strong>Stabil dan Teruji:</strong> Merupakan bagian dari proyek resmi OpenStack dan terus dikembangkan oleh komunitas global.</p>
</li>
</ul>
<h2 id="heading-deployment-mode-dalam-kolla-ansible"><strong>Deployment Mode dalam Kolla Ansible</strong></h2>
<p>Kolla Ansible mendukung dua mode deployment utama:</p>
<h4 id="heading-1-all-in-one-aio-deployment"><strong>1. All-in-One (AIO) Deployment</strong></h4>
<ul>
<li><p>Semua layanan OpenStack dijalankan pada satu node (server).</p>
</li>
<li><p>Cocok untuk keperluan testing, pengembangan, atau environment kecil.</p>
</li>
<li><p>Kelebihan: Mudah diatur dan cepat di-deploy.</p>
</li>
<li><p>Kekurangan: Tidak cocok untuk lingkungan production.</p>
</li>
</ul>
<h4 id="heading-2-multi-node-deployment"><strong>2. Multi-Node Deployment</strong></h4>
<ul>
<li><p>Layanan OpenStack dijalankan secara terdistribusi pada beberapa node.</p>
</li>
<li><p>Node dapat memiliki peran berbeda:</p>
<ul>
<li><p><strong>Node Controller:</strong> Menjalankan layanan kontrol (Keystone, Horizon, Glance).</p>
</li>
<li><p><strong>Node Compute:</strong> Menjalankan instance VM (Nova).</p>
</li>
<li><p><strong>Node Storage:</strong> Menyediakan penyimpanan (Cinder, Swift).</p>
</li>
<li><p><strong>Node Network:</strong> Menjalankan layanan jaringan (Neutron).</p>
</li>
<li><p><strong>Node Bastion:</strong> Node khusus untuk menjalankan Kolla Ansible.</p>
</li>
</ul>
</li>
<li><p>Kelebihan: Skalabilitas dan ketersediaan tinggi.</p>
</li>
<li><p>Kekurangan: Konfigurasi lebih kompleks.</p>
</li>
</ul>
<h3 id="heading-use-case-kolla-ansible"><strong>Use Case Kolla Ansible</strong></h3>
<ul>
<li><p><strong>Cloud Pribadi (Private Cloud):</strong> Perusahaan dapat membangun cloud internal yang aman dengan OpenStack menggunakan Kolla Ansible.</p>
</li>
<li><p><strong>Cloud Publik (Public Cloud):</strong> Penyedia layanan cloud dapat menggunakan Kolla Ansible untuk menyediakan cloud publik yang skalabel.</p>
</li>
<li><p><strong>Environment Pengembangan dan Pengujian:</strong> Kolla Ansible All-in-One (AIO) memungkinkan deployment cepat untuk pengembangan dan testing aplikasi.</p>
</li>
</ul>
<h2 id="heading-deploy-openstack-20242-with-kolla-ansible"><strong>Deploy Openstack 2024.2 With Kolla Ansible</strong></h2>
<h2 id="heading-minimum-hardware"><strong>Minimum Hardware</strong></h2>
<p>Requirements minimum hardware untuk openstack:</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td>Criteria</td><td>Minimal</td><td>Recommended</td></tr>
</thead>
<tbody>
<tr>
<td>CPU</td><td>4 core @ 2.4 GHz</td><td>24 core @ 2.67 GHz</td></tr>
<tr>
<td>RAM</td><td>8 GB</td><td>24 GB or more</td></tr>
<tr>
<td>HDD</td><td>2 x 50 GB</td><td>4 x 500 GB (7200 rpm)</td></tr>
<tr>
<td>RAID</td><td>Software RAID-1 (use mdadm as it improves the read performance almost twice)</td><td>Hardware RAID-10</td></tr>
</tbody>
</table>
</div><h2 id="heading-topology"><strong>Topology</strong></h2>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeKKbK_jAI-ZXPbL9FMgBr4PRa5i2c9dC_2UP3i7gR9KmCRN46Ha4tVM3jWjWGeC66NMe9W24Dno-NPDkk7hznWzg4XLU6RnUQm73QgBG5oYg_u86TPGLPmmBpzDlSY2vYPBZDVPw?key=PNVV_j7kh1mJGyW1pAP95w" alt class="image--right mx-auto mr-0" /></p>
<p>Ini adalah topology yang akan kita gunakan kali ini, untuk NIC ada 2, 1 digunakan untuk VM dan 1 digunakan untuk VIP(Virtual IP) jadi untuk NIC ke 2 tidak perlu disetting.</p>
<h2 id="heading-deployment-aio">Deployment AIO</h2>
<ol>
<li><strong>Update dan Instalasi Dependencies</strong></li>
</ol>
<p>pertama update dan upgrade server kita agar dalam kondisi up-to-date, kadang kalo server tidak dalam kondisi up-to-date ketika ingin menginstall sesuatu akan error, selanjutnya install dependecies untuk digunakan virtual environment</p>
<pre><code class="lang-bash">sudo apt update -y &amp;&amp; sudo apt upgrade -y 
sudo apt install -y git python3-dev libffi-dev gcc libssl-dev libdbus-glib-1-dev libdbus-1-dev pkg-config python3.12-venv
</code></pre>
<ol start="2">
<li><strong>Membuat Virtual Environment</strong></li>
</ol>
<p>jika package sudah diinstall, selanjutnya masuk ke mode virtual environment, ini digunakan agar kita tidak menggangu sistem server kita saat konfigurasi</p>
<pre><code class="lang-bash">python3 -m venv /root/kolla-venv
<span class="hljs-built_in">source</span> /root/kolla-venv/bin/activate
</code></pre>
<ol start="3">
<li><strong>Instalasi Kolla-Ansible</strong></li>
</ol>
<p>nah untuk install openstacknya kita gunakan versi yang akan digunakan, karena saat ini kita akan mencoba deploy versi 2024.2(dalmantian), maka gunakan veri 2024.2 jika ingin menggunakan versi lain tinggal ganti saja pada bagian versinya</p>
<pre><code class="lang-bash">pip install -U pip
pip install git+https://opendev.org/openstack/kolla-ansible@stable/2024.2
</code></pre>
<ol start="4">
<li><strong>Konfigurasi Directory Kolla</strong></li>
</ol>
<p>buat direktori untuk digunakan konfigurasi kolla ansiblenya, jadi kita salin konfigurasi yang dibutuhkan dari folder bawaan ke dalam folder /etc/kolla agar lebih mudah untuk mengkonfigurasinya</p>
<pre><code class="lang-bash">sudo mkdir -p /etc/kolla 
sudo chown <span class="hljs-variable">$USER</span>:<span class="hljs-variable">$USER</span> /etc/kolla 
cp -r /root/kolla-venv/share/kolla-ansible/etc_examples/kolla/* /etc/kolla 
cp /root/kolla-venv/share/kolla-ansible/ansible/inventory/all-in-one /etc/kolla
</code></pre>
<ol start="6">
<li><strong>Install Dependecies Kolla</strong></li>
</ol>
<p>kita install semua package yang dibutuhkan untuk mendeploy openstack, dan kita upgrade untuk dockernya agar ke versi yang lebih baru</p>
<pre><code class="lang-bash">kolla-ansible install-deps
pip install --upgrade docker requests urllib3
</code></pre>
<ol start="7">
<li><strong>Konfigurasi TLS dan Host</strong></li>
</ol>
<p>selanjutnya kita edit untuk main configurationnya, ini sangat penting untuk dilakukan karena ketika deploy openstack akan melihat konfigurasi yang kita buat disini, untuk settingannya opsional namun yang akan kita setting sekarang adalah bagian network,interface,backend dan tlsnya. Jika ingin menggunakan http saja pada bagian tls hiraukan saja.</p>
<pre><code class="lang-bash">cat &lt;&lt; EOF &gt;&gt; /etc/kolla/globals.yml 
kolla_base_distro: <span class="hljs-string">"ubuntu"</span> 
kolla_internal_vip_address: <span class="hljs-string">"172.23.12.100"</span>
kolla_internal_fqdn: <span class="hljs-string">"internal.rafli.lab"</span>
kolla_external_vip_address: <span class="hljs-string">"172.23.12.200"</span>
kolla_external_fqdn: <span class="hljs-string">"public.rafli.lab"</span>
network_interface: ens192
neutron_external_interface: ens224
enable_cinder: <span class="hljs-string">"yes"</span>
enable_cinder_backend_lvm: <span class="hljs-string">"yes"</span>
kolla_enable_tls_internal: <span class="hljs-string">"yes"</span>
kolla_enable_tls_external: <span class="hljs-string">"yes"</span>
kolla_copy_ca_into_containers: <span class="hljs-string">"yes"</span>
kolla_enable_tls_backend: <span class="hljs-string">"yes"</span>
openstack_cacert: <span class="hljs-string">"/etc/ssl/certs/ca-certificates.crt"</span>
kolla_admin_openrc_cacert: <span class="hljs-string">"/etc/ssl/certs/ca-certificates.crt"</span> 
EOF

cat &lt;&lt; EOF &gt;&gt; /etc/hosts 
172.23.12.100 internal.rafli.lab
172.23.12.200 public.rafli.lab EOF
</code></pre>
<ol start="8">
<li><strong>Generate Certificate</strong></li>
</ol>
<p>karena kita menggunakan TLS jadi kita perlu membuat certificatenya, lalu kita simpan kedalam /etc/ssl/certs, jika tidak menggunakan TLS maka step ini tidak perlu</p>
<pre><code class="lang-bash">kolla-ansible certificates -i /etc/kolla/all-in-one
cat /etc/kolla/certificates/ca/root.crt &gt;&gt; /etc/ssl/certs/ca-certificates.crt
</code></pre>
<ol start="9">
<li><strong>Setup Storage LVM untuk Cinder</strong></li>
</ol>
<p>pada konfigurasi globlas.yml kita menggunakan lvm untuk backend storagenya, jadi kita perlu membuat disk yang akan dijadikan sebagai backend storage openstacknya, pada bagian backend ini ada banyak pilihan yang bisa digunakan jadi bisa pilih sesuai kebutuhan dan konfigurasinya tentu akan beda juga.</p>
<pre><code class="lang-bash">pvcreate /dev/sdb
vgcreate cinder-volumes /dev/sdb 
vgs
</code></pre>
<ol start="10">
<li><strong>Bootstrapping dan Prechecks</strong></li>
</ol>
<p>jika semua konfigurasi sudah selesai semua maka selanjutnya masuk ke mode tahap pre-deploy, sebelumnya kita buat password untuk openstack, dan lakukan bootstrap untuk mempersiapkan node yang akan menjalankan openstack dan prechecks untuk mengecek semua konfigurasi sebelumnya untuk mengantisipasi error saat deployment</p>
<pre><code class="lang-bash">kolla-genpwd
kolla-ansible bootstrap-servers -i /etc/kolla/all-in-one
kolla-ansible prechecks -i /etc/kolla/all-in-one
</code></pre>
<ol start="11">
<li><strong>Deploy OpenStack</strong></li>
</ol>
<p>ketika proses bootstrap dan prechecks sudah selesai, selanjutnya bisa langsung deploy openstacknya, ini akan memakan waktu sekitar kurang lebih 15menit, ketika sudah selesai deploy makan lakukan post-deploy untuk konfigurasi tambahan dan membuat credentials admin</p>
<pre><code class="lang-bash">kolla-ansible deploy -i /etc/kolla/all-in-one
kolla-ansible post-deploy -i /etc/kolla/all-in-one
pip install python-openstackclient -c https://releases.openstack.org/constraints/upper/master
</code></pre>
<ol start="12">
<li><strong>Verifikasi OpenStack</strong></li>
</ol>
<p>jika sudah selesai proses deployment maka bisa verifikasi openstacknya apakah sudah running semua, bisa cek pada bagian containernya, endpoint dari openstacknya, ataupun dari horizonnya untuk mengecke apakah ada error atau tidak</p>
<pre><code class="lang-bash">docker ps
<span class="hljs-built_in">source</span> /etc/kolla/admin-openrc.sh
openstack endpoint list
</code></pre>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1747198443783/03e98e6d-5885-4bb9-a4b6-5bc9440c91f6.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1747198642335/a4d1ab8c-e1d2-44c0-bfd4-55a622ec88cb.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1747198902624/63a25847-8548-4ec0-8fe8-ea1e30f1afe9.png" alt class="image--center mx-auto" /></p>
<p>untuk usernya admin dan untuk passwordnya bisa dicek /etc/kolla/<a target="_blank" href="http://admin-openrc.sh">admin-openrc.sh</a></p>
<h3 id="heading-kesimpulan">Kesimpulan</h3>
<p>OpenStack adalah platform cloud computing open-source yang memungkinkan penyediaan dan pengelolaan infrastruktur cloud dengan fleksibilitas dan skalabilitas tinggi. Dalam artikel ini, kita telah membahas apa itu OpenStack, sejarah perkembangannya, versi-versi rilis, arsitektur modular, serta komponen utamanya seperti Nova, Neutron, Cinder, dan lainnya.</p>
<p>Selain itu, Kolla Ansible menjadi solusi deployment otomatis yang efektif untuk OpenStack, menggunakan container Docker dan otomasi Ansible. Dengan pendekatan All-in-One (AIO) deployment, proses instalasi dan konfigurasi OpenStack menjadi lebih mudah dan cepat.</p>
<p>Dengan memahami konsep, arsitektur, dan cara deployment OpenStack menggunakan Kolla Ansible, kamu bisa membangun cloud pribadi atau environment pengujian dengan lebih efisien dan scalable. OpenStack memberi kebebasan untuk menyesuaikan infrastruktur cloud sesuai kebutuhan, dari skala kecil hingga enterprise.</p>
]]></content:encoded></item><item><title><![CDATA[Mastering Network Monitoring: How to Build a Modern NMS with Suricata, Elasticsearch, and Real-time Alerts]]></title><description><![CDATA[What Is NMS?
Network Management System (NMS) is a set of tools used to monitor, manage, and secure computer networks. By using NMS, network administrators can detect threats, identify performance issues, and take corrective actions proactively.
Benef...]]></description><link>https://blog.bayhaqqy.my.id/mastering-network-monitoring-how-to-build-a-modern-nms-with-suricata-elasticsearch-and-real-time-alerts</link><guid isPermaLink="true">https://blog.bayhaqqy.my.id/mastering-network-monitoring-how-to-build-a-modern-nms-with-suricata-elasticsearch-and-real-time-alerts</guid><dc:creator><![CDATA[Rafli Abdul Bay Haqqy]]></dc:creator><pubDate>Thu, 14 Nov 2024 07:44:29 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1731570184360/7d757190-4000-43a0-92f8-3ee2e6cc3925.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>What Is NMS?</strong></p>
<p>Network Management System (NMS) is a set of tools used to monitor, manage, and secure computer networks. By using NMS, network administrators can detect threats, identify performance issues, and take corrective actions proactively.</p>
<p><strong>Benefits of NMS?</strong></p>
<p><strong>Improved Network Security:</strong></p>
<ul>
<li><p><strong>Faster Threat Detection:</strong> NMS can proactively monitor network traffic and detect anomalies or suspicious activities that indicate a cyber attack.</p>
</li>
<li><p><strong>In-depth Log Analysis:</strong> NMS can identify complex attack patterns and exploit unknown vulnerabilities by collecting and analyzing logs from various network devices.</p>
</li>
<li><p><strong>Faster Response:</strong> Instant threat notifications allow the security team to respond quickly to minimize the impact of an attack.</p>
</li>
</ul>
<p><strong>Improved Network Performance:</strong></p>
<ul>
<li><p><strong>Real-time Performance Monitoring:</strong> NMS provides comprehensive visibility into network performance, allowing quick identification of bottlenecks and other performance issues.</p>
</li>
<li><p><strong>Resource Optimization:</strong> With accurate performance data, administrators can optimize the use of bandwidth, CPU, and other resources.</p>
</li>
<li><p><strong>Capacity Planning:</strong> NMS assists in network capacity planning to meet the growing needs of the business.</p>
</li>
</ul>
<p><strong>Reduced Downtime:</strong></p>
<ul>
<li><p><strong>Proactive Detection:</strong> NMS can detect potential issues before they become serious disruptions, thus reducing downtime.</p>
</li>
<li><p><strong>Quick Problem Diagnosis:</strong> With comprehensive data, administrators can quickly identify the root cause of issues and make repairs.</p>
</li>
</ul>
<p><strong>Examples of NMS Use in Practice?</strong></p>
<ul>
<li><p><strong>DDoS Attack Detection:</strong> NMS can detect unusual traffic spikes indicating a DDoS attack.</p>
</li>
<li><p><strong>Application Performance Monitoring:</strong> NMS can monitor application response times and identify performance issues affecting users.</p>
</li>
<li><p><strong>Traffic Trend Analysis:</strong> NMS can analyze network traffic trends to identify usage patterns and anticipate future bandwidth needs.</p>
</li>
</ul>
<h2 id="heading-installation-and-configuration-of-nms-with-suricata-elk-stack-and-filebeat"><strong>Installation and Configuration of NMS with Suricata, ELK Stack, and Filebeat</strong></h2>
<h3 id="heading-prerequisites"><strong>Prerequisites</strong></h3>
<p>Before starting the installation, ensure that we have a stable operating system that meets the following requirements:</p>
<ul>
<li><p><strong>Operating System:</strong> Prepare a server for NMS, a client, and Kali Linux for attacking the NMS server.</p>
</li>
<li><p><strong>Root Access:</strong> We need root access or a user with sudo privileges to run installation commands.</p>
</li>
<li><p><strong>Network:</strong> Ensure our system is connected to the network and has internet access to download necessary packages.</p>
</li>
</ul>
<h3 id="heading-installation-and-initial-configuration-of-suricata"><strong>Installation and Initial Configuration of Suricata</strong></h3>
<ol>
<li><p>Setup for installing a stable version of Suricata.</p>
<pre><code class="lang-abap"> apt-<span class="hljs-keyword">update</span>
 apt-<span class="hljs-keyword">get</span> install software-properties-<span class="hljs-keyword">common</span>
 <span class="hljs-keyword">add</span>-apt-repository ppa:oisf/suricata-<span class="hljs-keyword">stable</span>
 apt <span class="hljs-keyword">update</span>
 <span class="hljs-comment">"If so, you can install Suricata"
</span> apt-<span class="hljs-keyword">get</span> install suricata
</code></pre>
</li>
<li><p>Initial Configuration of Suricata</p>
</li>
</ol>
<p>configuration of Suricata in /etc/suricata/suricata.yml</p>
<pre><code class="lang-abap">vim /etc/suricata/suricata.yml
</code></pre>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcfk9giuKF1MsRBTXMTh9ZoaTrww1g700ZRgLlK3hzmPfFStu_4lt8eOMNxhm4o9RkJCv1fKK0sXDfCaBw2LBk74uMFJL_lEsCLlcBV5YkHMie36klEbYm9wyz7nCrUuTkdeadNk48QIpsB9Ib_BWvYQDo?key=TAh-k7LROlAl0b85eOhptg" alt class="image--center mx-auto" /></p>
<pre><code class="lang-abap">suricata-<span class="hljs-keyword">update</span>
systemctl restart suricata
systemctl status suricata
</code></pre>
<ol start="3">
<li>Testing Suricata</li>
</ol>
<p>First, we check if there are logs from Suricata, then we attempt to DDoS the NMS server to view the logs.</p>
<pre><code class="lang-abap">tail -f /var/<span class="hljs-keyword">log</span>/suricata/fast.<span class="hljs-keyword">log</span>
</code></pre>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfv9O0trEaVpJV-tkLWPD2xNg9-YrtjBQQhrTVjWOswmkzSKHDo4FlebCEYPR8AbwbSYgg2dJsAiwsTEwwZjWr2qV8qAf2Og2fzLjf9TKi3gyBSUAFGBf0QZleIhfHjnnRRshmlFIvdXm0xMgodGF8FesE?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<pre><code class="lang-abap">head -n20 /var/<span class="hljs-keyword">log</span>/suricata/eve.json
</code></pre>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcMcbtLus2a1wgXzWwpfgVuWgYOXftFIunbs-oBzIR0zuDcvQ0NurSj5TZVMyyJysIUK9yNWaUAJNUgZiIFv9oRs7mYmBCWQfRFrmZWTLeMo6dsB0FYERg1uyllZuDDB76a52Y0OplTtlKGUOe-2aTEj5hW?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p>Let's test how the logs appear when attacked by a DDoS by accessing our Kali Linux used for the DoS on the NMS server.</p>
<pre><code class="lang-abap">hping3 -S -d <span class="hljs-number">100</span> –flood -p <span class="hljs-number">80</span> <span class="hljs-number">172.23</span>.<span class="hljs-number">1.51</span>
</code></pre>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeaueKoPmr2luSlt3CqX7rW10Tp-lfHVBqFnU2YoNRFOqNpVqFtrJ2DIESVi_VDISRjjN5Qqf-Z2Dou2hO7_ZPJfQTPc_kx1wls9MoPNG0V6B8vWDI-gn2z-RZe541nJ1B4Dyb7RBcF4zGyBlAcjdb8FTk?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p>then we check our NMS server with <strong>tail -f /var/log/suricata/fast.log</strong>, and also see if our server's CPU usage increases; if it does, then the DoS is successful and the message displayed by Suricata is also successful.</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcOjpzH75kdGRSmYoF47jqmrGc7b8e5VHWQbd7cvAKQdwVIhMZ2q42-LT_ehK_ZlD_RmuBUNmJBe7H6qnFSP5LlJn_ehXGEyPWqmHg4sUlf38-PSyTAS36VO8wbZese9mWYFIyB-GUqagqVuaWKbBen01_7?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdN5drTO3KLV_-_TSL4FhZdy1H5ughi_tzsBgOSt6U7XP8gn5bpM6gubYDWCUoXyp9knxCKhFpnBZU3cNT5N21-I2lDiX-ykW9xzXSa4hIClTbhfODqbwIw7gRHwrjKRbdU5R7DOxLUQeL0YWuRO-9SUmA?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p>we can see that our CPU experiences a high spike due to the DoS, which means the Suricata logs are correct.</p>
<h3 id="heading-installation-and-initial-configuration-of-elasticsearch"><strong>Installation and Initial Configuration of Elasticsearch</strong></h3>
<ol>
<li><p><strong>Install Elasticsearch</strong></p>
<pre><code class="lang-apache"> <span class="hljs-attribute">wget</span> -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
 <span class="hljs-attribute">apt</span>-get install apt-transport-https
 <span class="hljs-attribute">echo</span> <span class="hljs-string">"deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main"</span> | tee /etc/apt/sources.list.d/elastic-<span class="hljs-number">8</span>.x.list
 <span class="hljs-attribute">apt</span>-get update &amp;&amp; sudo apt-get install elasticsearch
</code></pre>
<p> <img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfoAsLts7Y-OZ9NkiCfkhnrrH2NkGfhVoc1SLdskYHGpv0sBIedsMyh0jptv2OCD6y0j-gDxGyEbI9VF94S0LHbW8fbMuW3Mn67e-AkA_VQk_WjjEmTNOukWG8zAt0wU9ZVdMmEfYYCcns0iGHQXHnWnImg?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p> During the installation process, there will be information like this, copy the elastic password and save it in Word/Notepad for later use when connecting to Kibana.</p>
</li>
<li><p><strong>Elasticsearch Configuration</strong></p>
</li>
</ol>
<p>After installing, before starting, we first configure it in elasticsearch.yml</p>
<pre><code class="lang-abap">vim /etc/elasticsearch/elasticsearch.yml
</code></pre>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXedgUSAsx6BVVwFWlKKGkmE12TW4Tp-5ggJQ7AO4Gf4-MC5XTQbo6CG_7HLXxZiRJosflzP620HRegHcdiL0UDq0jSaq8N3kHHUlO4mJZgGbffXKCAN22tos2ybRzHoRT0jDgHseXrXqo0PQIlCoKaZEGav?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<ul>
<li><ul>
<li><p><a target="_blank" href="http://cluster.name">cluster.name</a>\= whatever</p>
<ul>
<li><p><a target="_blank" href="http://node.name">node.name</a>\=use hostname</p>
</li>
<li><p><a target="_blank" href="http://network.host">network.host</a>\= can use server IP or 0.0.0.0</p>
</li>
<li><p>for http.port=use the default port</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<pre><code class="lang-abap">ufw allow <span class="hljs-number">9200</span>/tcp
systemctl daemon-reload
systemctl enable elasticsearch.service --now
systemctl status elasticsearch
</code></pre>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcPDrr34mkvWhJtnDN4DmTLeIZ6vD2mL_NbdEaAgesa9ewNt4XqVt7i_0TYgVl25xyIIQB8s5h_v9Cf-I7vBimlGoNWhSUFcx55LU3qIqMcElcGp5R6tiI9gbqTj8QYSPYTyLIuWM06ufWux_Rf2PFFw5JM?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p>Now, for Elasticsearch, we're done. Next, let's install Kibana.</p>
<ol start="3">
<li><strong>Testing Elasticsearch</strong></li>
</ol>
<p>If the installation and configuration process is complete, let's check if Elasticsearch is running. Open a browser and go to https://ip_server:9200</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXduKRKGK7567IUhD4gZDx4T4o8ILpHzDdmm7xRS71FZaIClSBOmbfIQuCZqbK6dCnSs4l1sMysNXFhrywADzIqABEjrKNgoqwBOeB-cnYE4aZWZI2E88PbFZJ4RUDrXT1aimpBhuWs1TZMpgfkfQjW85mSZ?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<h3 id="heading-installation-and-configuration-of-kibana"><strong>Installation and Configuration of Kibana</strong></h3>
<ol>
<li><strong>Installation of Kibana</strong></li>
</ol>
<p>for Kibana installation, it's different from before. Since we've already added the repo and key, we can just install it directly.</p>
<pre><code class="lang-abap">apt install kibana
</code></pre>
<ol start="2">
<li><strong>kibana configuration</strong></li>
</ol>
<p>A fresh installation of Kibana cannot be accessed in the browser yet. We need to configure it with Elasticsearch first to access the Kibana dashboard.</p>
<pre><code class="lang-abap">vim /etc/kibana/kibana.yml
</code></pre>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcXDHQKKdMSWbn6p6z7Et4MWrqKUhZ_uz3qUOwJgE2iFNAvtRsxJ0f96SpFSbGF-UGCHZpjOyyH-Ga3rzu4OUBpwbNnlMPi-nvNcDc8KCKyS1jxBPW1F8JMlMMi9BApKB0hhK-Rcxm-Sr8O4EXOWvyHFiU?key=TAh-k7LROlAl0b85eOhptg" alt class="image--center mx-auto" /></p>
<ul>
<li><p>server.port= use the default Kibana port</p>
</li>
<li><p>server.host= can use 0.0.0.0/server IP</p>
</li>
</ul>
<pre><code class="lang-abap">ufw allow <span class="hljs-number">5061</span>/tcp
systemctl restart kibana
systemctl status kibana
</code></pre>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcbHoMdXuT4czsbwOo4olniYAIqwG8owZye0KHumX1sYSXKnHzCpJPQiWBvgoUETLj4bOtulFSBD1LUUMtBgeNRQJXsY1aVcb70pX-RoRhpTYeaP2THINtfpZfTGeAG2SSE7bpNwAMdYViYSO4wmutqH1G7?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p>Now, there is information in the <strong>Go to</strong> <a target="_blank" href="http://172.23.1.51"><strong>http://172.23.1.51</strong></a>. Open the browser and click the link in the Kibana status.</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfqngDaVYxRKUGSiSb7dS0JIihWTZNkLXWQUjlF-JNkW3mGauTRgID-obzLZ63CbHndG4hdUkVXPz0sr5jFeGtTIDsnW9529yij0AUoXVRRA4Ow8QtTGhCnYl_udTsiT6yw_lm85gfKXDLK3USoPaWOjVg?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<ol start="3">
<li><strong>Connect Kibana with Elasticsearch</strong></li>
</ol>
<p>Before we can access the Kibana dashboard, we need to connect our Kibana with Elasticsearch. There are several steps, such as creating enrollment and verifying the code.</p>
<pre><code class="lang-abap">/usr/share/elasticsearch/bin/elasticsearch-<span class="hljs-keyword">create</span>-enrollment-token --scope kibana
</code></pre>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcS0V5sX0wxqXxZaTFrNsDTl0u3q6i36KjDDLqgwXC4dWnVp2AvpkL9OXhT26hHxBGgz4YAqZU_sn26IjS7gHpu8riUutZXuMCqMcRg66H8ApiFcRN0Zx8aCeGifF07G2A1WLj3b2CpZatEaDfbyufiqXQ?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p>pastekan token yang kita buat di elasticsearch ke enrollment token kibana, jika sudah klik <strong>Configure Elastic</strong></p>
<pre><code class="lang-abap"><span class="hljs-keyword">open</span> the server <span class="hljs-keyword">and</span> <span class="hljs-keyword">type</span>
/usr/share/kibana/bin/kibana-verification-code
</code></pre>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeUNa7uuZbfqMERnro3BiSVmEPBNuYl2TavqnNRUFihz3orDzvPnXg44QjhVNiIQjj9uqpzQ0Tv042HITLRCRx1H-1OwiBRIPvB4QwW5mywgia488mKv7kXxy-M-PVa7D_t6avFnkgOgdPQQ4NrFN2V3gBW?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p>Copy and paste the verification code into the Kibana verification field, then click <strong>Verify</strong>.</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdBjwMXhCsVGSdK_BNt5wYPOrRn0EIr08jI7shezrm-1xF8H8KQS9adjfWsJpaeUyEsQuM-c1SbCU2wjJ5vmYHddpnIiDbIW5tInZnu3TbKG4HIp9Rf83hqQ9fPBGE5Lu_I3uhSUbdO3_FR2Vx6UcCmqI4?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<ul>
<li><p>username= elasic</p>
</li>
<li><p>password= password that appears when we first install Elasticsearch.</p>
</li>
</ul>
<p>if you forget the password, you can create a new password with command: <strong>/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdWV8h6tEr1rYO84p9P8tzSOjuNUTlDj0Ls3D-B69O0as7zN_sD5lB3WyFfX-hXPCNQGBvvWw6IUKuZPelME9DcW-ekCisw2-eyr9dEpQeY6gK_FrHAMt6P-WKrahEO5jYHzjc-BC3-xy0DPO5a--SFTQI?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p>This is the Kibana dashboard view, but there are no logs yet because we haven't configured our Filebeat with Suricata.</p>
<h3 id="heading-installation-and-configuration-of-filebeat"><strong>Installation and Configuration of Filebeat</strong></h3>
<ol>
<li><strong>Install Filebeat</strong></li>
</ol>
<p>We need Filebeat to pull metrics from Suricata to Elasticsearch because Suricata cannot send metrics directly. So, Filebeat acts as an agent. Below are the steps to install Filebeat and configure it to pull Suricata metrics.</p>
<pre><code class="lang-abap">curl -L -O https://artifacts.elastic.<span class="hljs-keyword">co</span>/downloads/beats/filebeat/filebeat-<span class="hljs-number">8.14</span>.<span class="hljs-number">3</span>-amd64.deb
dpkg -i filebeat-<span class="hljs-number">8.14</span>.<span class="hljs-number">3</span>-amd64.deb
</code></pre>
<ol start="2">
<li><strong>Filebeat Configuration</strong></li>
</ol>
<p>Now, to allow Filebeat to pull metrics from Suricata to Elasticsearch, we need to configure it first in Filebeat. The configuration is in <strong>filebeat.yml</strong>.</p>
<pre><code class="lang-abap">vim /etc/filebeat/filebeat.yml
</code></pre>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf-LMs0UbmqyKD13A0qM6B0nKfhls__lSSj2o9cmTLSR09MPPgBdDoH7uPI9wGY4odT4H1ObN6n-H8LbAWtaIS6XAXjZoVAiiPg8DQXcQC5PJ3SuHgL9IvRcqGeztZ7RTtmShpZ2cwFwl39CpgTjBlGEQDk?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdBkKuB3AYef1LK_EfGV-0SlJq9FFcPVRuOTaA09ebyzAwPORDa4QZbJkFNBznisUL8KDzXZxvmfChCJE7QUxPj45b6TNShK4RnGU2z7SCyGkX5vPpDLppsdKliQxQqtTHO7L_WvT1Kcg1dz-JHoi6nfvxk?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p>There are 2 things we need to configure in filebeat.yml, which are for Elasticsearch and Kibana:</p>
<ul>
<li><p>host elastic = point to the Elastic website</p>
</li>
<li><p>protocol = match our protocol, either http or https</p>
</li>
<li><p>credential = enter the credentials from Elastic that we use to log in</p>
</li>
<li><p>ssl = point ssl to http_ca.crt located in /etc/elasticsearch/cert</p>
</li>
</ul>
<p>And for Kibana, we only need to configure the host.</p>
<ol start="3">
<li><strong>Connect Filebeat to Suricata</strong></li>
</ol>
<pre><code class="lang-abap">filebeat modules enable suricata
vim /etc/filebeat/modules.d/suricata.yml
</code></pre>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfC-nmtDEp0fyUmLfd1vfh_XsL_e2bCLVrxaxrneQ82RqgczupMvTuwKEvBQTZbeZZE1CdBKQuw1rO9U3SPTuIk4b6H3J9PUl4_u91rfRH77CkaP4FzUaPYEl8ciSIHXqdUutt4NPC9zIXJLENVzFI9YlI?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p>var.path= point to the JSON and log files in Suricata</p>
<pre><code class="lang-abap">filebeat setup
systemctl daemon-reload
systemctl enable --now filebeat
systemctl status filebeat
</code></pre>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeCDijipwdsLmMx0fXExbOKAE2G9jZbFO-m4aJcDZ60HJi2L8SUAO0VbhDW8XbZ0_MztzbcHszFoGrRnTFnkl7SZsyEoN0OKW0kZkuM3-kQF_wgTETlER4yRVrI43jrVDjAzVmygjf_CkpUvsz9831a1NpP?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p>Now, we can see that the status is running. Let's try opening it in the Kibana dashboard.</p>
<ol start="4">
<li><strong>Testing Network Monitoring System</strong></li>
</ol>
<p>Now let's see if the Suricata logs pulled by Filebeat to Elastic have appeared in Kibana. Open the browser at http://ip_server:5061</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcc-VsdGmH1Tqo8GWAXw0asPFwmsS8DSQZDrZgdyRdPz4AOrdXBq4jUUjFLW2b3sKelwqjMHPcN8Nc1CnX289vo0dM3KG4pWGKuAD5SJO5ivGwmv4hhQGAXNrM0ei2vzAotx9mvhV4N3XWMCqxHOXCn5vE?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p>Klik <strong>Analytics&gt;Dashboard&gt;[Filebeat Suricata] Alert Overview</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfdstk683JmL_JXpIEe86iLCFxE6R5cSamFudrmPoJQrI0i3_U4axrhzWw6-SMEaBtulGfB-2VSq6Cj7DdGhJkXSoDZDzN3B5DDuVjSljrUy2_nnTR0de_9MhM4Ro5muQvRNTPzBoMO5JinUC1FxcZqlC4?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdQTJN9sEKMs6bz7Bd7p4tzyt_hix0529Yh7MM7h9rQ0RQDCu81vDxOcpaita6lUw5FALxBTkNMBDyRGxK2HLNbdMYJX7Yi6N8udWGNISv2pC6crYmXy1YWwB7Dje4KCNQiJzWrLA90aqFMIqf8ucEglmkd?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p>We can see that the logs pulled by Filebeat have been successfully sent to Elasticsearch. We can also clearly see the logs from Suricata here, and they are easy to understand.</p>
<h3 id="heading-configuration-of-netflow-and-connect-mikrotik-with-nms-server"><strong>Configuration of Netflow and Connect Mikrotik with NMS Server</strong></h3>
<p>This time, let's try monitoring our Mikrotik traffic. Let's see if Kibana can display the current traffic and if we can see any traffic activity. We will use Netflow Filebeat to do this, and of course, we need to connect our Mikrotik with the NMS server.</p>
<ol>
<li><strong>Netflow Configuration</strong></li>
</ol>
<p>Before we connect Mikrotik with the NMS server, we need to set up our Netflow in Filebeat located at <strong>/etc/filebeat/modules.d/netflow.yml</strong>.</p>
<pre><code class="lang-abap">cd /etc/filebeat/modules.d
filebeat modules enable netflow
</code></pre>
<ol start="2">
<li><strong>Connect Mikrotik ke Server NMS</strong></li>
</ol>
<p>Open Mikrotik and set up the traffic flow to our NMS server.</p>
<p><code>IP&gt;Traffic Flow</code></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfK6swsBHpf3yuj_3cnBhLKXbn6PEN1K4hj8S1zRRwvGviSAVNvoijVZbOPz6UnRTJp9S6tz37xwlIbqqSFyVr11GZ6g_D3Pm7z63HoidT3gT7B22-DByRyuzpFaUVQ0F9beM9esQCLELBXbo-swyZWWp8s?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p>click enabled and direct it to all interfaces, then click <strong>Apply &gt; Targets &gt; Add New</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc9SV65C2x4z0JPS7pxU9B2kuoO3qnfn5yBkbqhWa1QCrUSaiKDYzdRATZjlZUE5gDzFU8Zl-WFS5N-AB3C_-b9TFZg_OHydCayRyguO7_Vjp2ife6VnMDetM0IR92ALtiui8PglLNu22_XkuQaHrIiYShb?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<ul>
<li><p>Enabled= check</p>
</li>
<li><p>Dst. Address= direct to the NMS server</p>
</li>
<li><p>port= set the port to 2055, which we configured earlier in netflow</p>
</li>
<li><p>Version= use version IPFIX</p>
</li>
</ul>
<p>Once done, click <strong>Apply &gt; Ok</strong></p>
<p>Once connected, let's check if our netflow can pull traffic from the Mikrotik. Open the Kibana dashboard and click <strong>Analytics&gt;Dashboard&gt;[Filebeat Netflow] Traffic Analysis</strong>.</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcIeoBWhpR5nzTejEclDRtc_YiWakMMyAEdMcrh0wbg3ImDpDSULmSTo4cq2eCcTfwDDs8KffOLJuQD00o64Mrrx9I4DBNsbGFxhRt6QLiWNVtoptXt6cNFv8PY30aB5p6pxUF7Sx-QJ94GO7BpoDwoku60?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p>Well, our Filebeat Netflow has successfully pulled traffic from Mikrotik to the Kibana Dashboard.</p>
<ol start="3">
<li><strong>Testing Netflow Traffic</strong></li>
</ol>
<p>Once connected, let's check if our Netflow can see heavy traffic and identify which specific IP is causing it. We'll try to DoS the Mikrotik using Kali Linux to test it.</p>
<p><strong>#Kali Linux</strong></p>
<pre><code class="lang-abap">hping3 -S -d <span class="hljs-number">10000</span> --flood -p <span class="hljs-number">80</span> <span class="hljs-number">172.23</span>.<span class="hljs-number">1.244</span>
</code></pre>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXerISj88fnkBlLvWE-b84YOGY60eu87kvsGp4m9p2Y51zqtvEHUQ0k9yMYoTeD0LWKuu9TSfVS8yYoF-XPQ_UAZbeHw700W61ZhytMEnHS68oM-eFx8imIugZTiFKgMdRVwBqF9g5FB3EOogMA9t91Uk_Y?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p>let's check our Kali Linux IP, then run our DoS script on the Mikrotik and see if the Kibana Dashboard can identify the IP causing the heavy traffic.</p>
<p><strong>#Server NMS</strong></p>
<p>Open our Kibana dashboard, click <strong>Analytics &gt; Dashboard &gt; [Filebeat Netflow] Top-N Flows</strong>, and then scroll down.</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc8zBI8gm1dxQr6SDIq7hlT6xX8MJJmKBaMMzP-p9P8Zm_EUwBZGbAL7azhQIGVTpCm3XsnKiPyFty0b_7W_muQwaUTFbdUPLc3_WAGiCSsrl3dNUpz18K0IN5J76DiETeIbnKnI-LoyHZ3ndZ-Hyd0UkgS?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfBBBEnzJOd3HFZFM7AjWHNCLal0z-60_GsgQZHDO_TcyF-Bh8jy5oeMDK3NKdG9Zi7ZSjhM3a5G2Kjd0UMXBZRNJ8RuBaE0t4dp1jkRB4A7jMJ2FXVkxFxhe5aAMVVx04w8mohl-0cQckCTcKoBM2RJ17g?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p>And yes, our Filebeat Netflow can show us which IP is causing the heavy traffic, and we can also see how many packets are being sent by our Kali Linux.</p>
<h3 id="heading-alerting-suricata-to-telegram-bot"><strong>Alerting Suricata to Telegram Bot</strong></h3>
<p>After we create a monitoring dashboard and successfully monitor our server and network, what's next? Well, next we set up alerting so that when an anomaly appears, it will be immediately detected and send a warning to our account.</p>
<ol>
<li><strong>Create Bot_Telegram</strong></li>
</ol>
<p>open Bot Father in Telegram to create a new bot</p>
<p><code>Bot Father&gt;New Bot&gt;Name Bot&gt;Username Bot</code></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfeG3zSOBR-vQJoHsLgwr_oqwN_-ql7r4x61C5f5yft6a-fJtn5qtX9Oq9sFbch6EefdtzRAxg9Rh2WlLFacimI6VRKtvHRXjTWoHtgeZEdEIGw4PVmrMcdNPR8tIcF9VWJbqBSf9aPU3EI5CkDIFchSR3W?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p>open our bot by searching <strong>bot_name&gt;/start</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd69_KrCMIqT776vWjgAGENonYNEM0zzUz6XmdJF3ytB2bsDM0vGqdMOQ1Byb0o0y0cgNSLQPfW33d9N29BugCpUsHEMVSzxSQNhB7dec1sNsd_0mHOLhefUQxkdh9dD5RHsKvqLfo5wyJJckpL9tae0kV9?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p>Salin HTTP Api dan simpan karena akan digunakan untuk konfigurasi di server kita, jika sudah kita lihat ID telegram kita, bisa search <strong>userinfobot&gt;/start</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeSxquecKXTWWjZpARTwANXyKO0ojB77tkM1C_2yNGgIgV1oSPI99PjX0HaZbiZIxFP4ajnD2zq-PaWXOjxBv3CRe7XfUK5ptHKpGBfmuVSJREBecuKu0VoD_NAu8NHmfadsmmJ95D-In3na9_Jg-qYX3Rp?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p>Now, in this part, we copy our ID and save it because it will be used for configuration on the server.</p>
<ol start="2">
<li><strong>Install and Configure suricata-telegram-notifier</strong></li>
</ol>
<pre><code class="lang-abap">git clone https://github.com/infokek/suricata-telegram-notifier
mv suricata-telegram-notifier/configs/service.ini.example
vim suricata-telegram-notifier/configs/service.ini
</code></pre>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXconbfeIW3WCsrApz4CZGVbY84_6Ws7JRwaEn1106USNn17bNnkRiNT9xCKo3reSCRjX9lxTooDV7ANir3KWUV6KXOwD5Kv00u5JSWMQOdIdkEHWVv2aSS42wRXDuGF4saMneAumDku2xhbU2nU3JFhEgP8?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<ul>
<li><p>Bot_token= use the HTTP API we copied earlier when creating the bot in bot_father</p>
</li>
<li><p>Chat_ID= use our Telegram ID that we copied earlier in the bot userinfobot</p>
</li>
<li><p>Interfaces= use the server interface</p>
</li>
</ul>
<p>We can see our interface with the command <strong>ip a</strong></p>
<pre><code class="lang-abap">rm suricata.yml
<span class="hljs-keyword">cp</span> /etc/suricata/suricata.yml 
cd ~/suricata-telegram-notifier/
./install
</code></pre>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdDHTJtUfCI1Gn5bJcR6CUWcDonaHxv56FuMUKgTW_AkWxeARXJLK8sArqs1Drp03EprK_zAz0Hb1Mrrq4AJO2qGkC0C4h_EvNiCFGNXEWFOykimKoqjENqcHrNwzUvK8H4j0K3q1My3yhUl-GgF7WFURKd?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<ol start="3">
<li><strong>Testing Alert</strong></li>
</ol>
<p>We will test our alert to see if it sends a notification when there is an anomaly. We will use the <strong>BruteForce</strong> attack method on our NMS SSH server because I'm tired of only using DoS. Okay, let's open our Kali Linux to start the attack.</p>
<pre><code class="lang-abap">hydra -l root -P rockyou.txt <span class="hljs-number">172.23</span>.<span class="hljs-number">1.51</span> ssh
</code></pre>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdtREIA-Imd6zLW2IXnzrS0yxxhWyhKMVY4aB24g8zFSXs6YMfYBdnvu2bOmazUmNJ4owDFUGf3p1fg8g8KV5sYpmiTblnvkcNknEqx1QCRy49qp-Rze7xVXX5M2Nn6X9wfI9Fl1JOtTcA1LqRDP6DjJyne?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p>Well, our brute force attack has been started. Next, let's check our alert bot to see if it sends a notification.</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd1dMCadM8ZAPsMvXrNsbM7TKv1xN7jvUKv7HZcZDySEGZF7t6LTue6hQOaS4I-pNd3eJ9xrWd1Hq-djztI2YMDy9-sWXUikVEaztCpYiGzH4JpQ1C5J8gGauCFyVa522f06sN81BHtUinoMuggW5trAqgn?key=TAh-k7LROlAl0b85eOhptg" alt /></p>
<p>and yes, the alert we created was successful</p>
<h3 id="heading-conclusion"><strong>Conclusion</strong></h3>
<p>Network Management System (NMS) is an essential tool for monitoring, managing, and securing computer networks. NMS enhances security, performance, and reduces network downtime through proactive threat detection, log analysis, and real-time performance monitoring.</p>
<p>This article explains the installation and configuration of NMS using Suricata for threat detection, ELK Stack (Elasticsearch, Logstash, Kibana) for data collection and analysis, and Filebeat as a log shipping agent. Practical steps include software installation, system configuration, testing, and integration to effectively monitor and manage networks.</p>
<p>With a configured NMS, administrators can monitor traffic, detect attacks, and take quick action through automatic notifications, including integration with Telegram bots for alerting. This system enables early problem detection and faster response to security incidents.</p>
<p><strong>Important to remember:</strong> Cybersecurity is an ever-evolving process. Therefore, it's crucial to regularly update tools, configurations, and knowledge about the latest threats.</p>
]]></content:encoded></item><item><title><![CDATA[Easy Configuration of Active Directory and File Server on Windows Server 2022]]></title><description><![CDATA[Active Directory (AD) adalah layanan direktori yang dikembangkan oleh Microsoft untuk mengelola identitas dan objek dalam lingkungan jaringan Windows. AD memungkinkan administrator TI untuk mengelola pengguna, komputer, grup, dan objek lainnya secara...]]></description><link>https://blog.bayhaqqy.my.id/easy-configuration-of-active-directory-and-file-server-on-windows-server-2022</link><guid isPermaLink="true">https://blog.bayhaqqy.my.id/easy-configuration-of-active-directory-and-file-server-on-windows-server-2022</guid><dc:creator><![CDATA[Rafli Abdul Bay Haqqy]]></dc:creator><pubDate>Tue, 05 Nov 2024 08:22:42 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1730794909525/ce529613-6dec-4cc4-97ec-70aed9fe4165.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Active Directory (AD) adalah layanan direktori yang dikembangkan oleh Microsoft untuk mengelola identitas dan objek dalam lingkungan jaringan Windows. AD memungkinkan administrator TI untuk mengelola pengguna, komputer, grup, dan objek lainnya secara terpusat. Sementara itu, File Server berfungsi sebagai penyimpanan data yang dapat diakses oleh pengguna melalui jaringan. Kombinasi keduanya memberikan solusi yang kuat untuk mengelola akses ke sumber daya jaringan.</p>
<p>Artikel ini akan memandu kita melalui proses konfigurasi Active Directory di Windows Server 2022, serta cara menginstal File Server dan mengkonfigurasinya untuk memenuhi kebutuhan organisasi. Selain itu, kita akan membahas cara membuat Organizational Unit (OU), pengguna, dan Group Policy Object (GPO) untuk mengelola akses ke sumber daya secara efektif.</p>
<ol>
<li><h3 id="heading-apa-active-directory"><strong>Apa Active Directory</strong></h3>
</li>
</ol>
<p>Active Directory merupakan tulang punggung dari infrastruktur Windows Server. AD menggunakan database hierarkis untuk menyimpan informasi tentang objek dalam jaringan. Objek-objek ini dapat berupa pengguna, komputer, grup, OU, dan lainnya.</p>
<p><strong>Keuntungan Menggunakan Active Directory:</strong></p>
<ul>
<li><p><strong>Manajemen Terpusat:</strong> Kelola pengguna, komputer, dan kebijakan keamanan dari satu lokasi.</p>
</li>
<li><p><strong>Autentikasi Tunggal:</strong> Pengguna hanya perlu memasukkan kredensial sekali untuk mengakses berbagai sumber daya.</p>
</li>
<li><p><strong>Otorisasi Berbasis Peran:</strong> Definisikan izin akses yang berbeda-beda berdasarkan peran pengguna.</p>
</li>
<li><p><strong>Objek Group Policy:</strong> Terapkan pengaturan kebijakan secara otomatis ke pengguna dan komputer.</p>
</li>
</ul>
<ol start="2">
<li><h3 id="heading-konfigurasi-active-directory-di-windows-server-2022"><strong>Konfigurasi Active Directory di Windows Server 2022</strong></h3>
</li>
</ol>
<p><strong>Prasyarat:</strong></p>
<ul>
<li><p>Dua server Windows Server 2022: vm1 (sebagai AD Server) dan vm2 (sebagai File Server).</p>
</li>
<li><p>Koneksi jaringan yang stabil antara kedua server.</p>
</li>
</ul>
<p><strong>Langkah-langkah:</strong></p>
<ol>
<li><p><strong>Promosikan vm1 menjadi Domain Controller:</strong></p>
<ul>
<li>Buka Server Manager, pilih <strong>Add roles and features&gt;Active Directory Domain Services</strong>.</li>
</ul>
</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcKhSHIdCbz8HwzKVm59tiDc-vzDqIoY811xT4SpqcRfMN7-NsMPFSIxasJTZMBch7oix04MOc3XZOTOFx9-HoHdEtUTNCieV4AFdw8bmdU11Vy_rv16Wei-oLFA3WFQ7XmTUYTKMN3_cq9jSL-Q_05HfN8?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<ul>
<li>Ikuti petunjuk wizard untuk menyelesaikan proses promosi.</li>
</ul>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXehL7BjrFLp6oNkHUBedzyyrIoJUzkgGlS2By38AkhfJoyJYxJEaz7cLTrvMU1ALA5hnpBrMrJjPeMXuxa-FKXAqK90YamLAObdskB7XQ5D0ces5FSLZ-9vIi-EY7kDyg9QYhPZZLmtiyMWvY4WPsK34vfW?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<p>step pertama kita pilih <strong>role-based&gt;next</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd7JeGDhPcXV7AqZy4sGXWS1fYO-JFsyeSRazSyQtg-ObF4_rvhrkjXX45BjPAa2ZKBxVTM6qj_W4aCR5KAIPdEZHCrm7S4S-6UqRVUN-Nti3BemBpfU1h1LyyOJrMCnwkbK0Xylxfuv0-hKXIbCjGpK3Eq?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<p>step kedua pilih <strong>Active Directory Domain Service&gt;Next</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdY03jCLS38kacs2DVLk0GVSb46cUyk0gGMgL7aPvYb9RAp-QXq_zVO3wawXl7HhS8AeRcbqdkqh1jqOkiCqoXb6XHRnLHp-mPHiMuC54n2Qe9m5deBexi9nwjc9sYsQ_L1o7G0Veg1RzPYJmZbY6VPSCax?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<p>Step terakhir kita klik <strong>Install</strong> dan tunggu proses penginstallan selesai</p>
<ol start="2">
<li><p><strong>Buat Forest dan Domain:</strong></p>
<ul>
<li>Selama proses promosi, kita akan diminta untuk membuat forest dan domain baru. Tentukan nama yang sesuai untuk organisasi kita.</li>
</ul>
</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfXZJ-Y8ixdLzVQ6zaK7b9YheWqxpY82TafsZXvWkdZEhZ1Oo7dy2Cn288XVxpMcCNCthoxbfvHZn7Ip06XOE1vOr76mAbZnrX1uIAZFsCP7WvxSbJVV3xIRnL9MIVZMXykKjtxemY3QBdJixh3UUS4wLW0?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<p>step pertama kita klik <strong>Promote this server</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc7dcL6OTTOL9UQdgVuRjlYYJLhKzblm8GNEALcok6tXzjqnzu9GivoieN-Te-35otdni8uiq6mA5HbvzLOctqbE2uXOCFVZzNJMzehLWsH7iInoHlhTWtahd1wIvRDKtG_471srLMrDC4vWrQpeXsGg9TG?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<p>step kedua kita buat untuk domainnya terlebih dahulu</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeZQnVABoKFbiALwJT6Xf25_Evq2W7v2U8E4ZYoci23JEYD7OwbTgaTBEFklVYQpE3TLXui6PGWz2JpmgYGcMzYKFXUS2qvg30swBF4H2nfmY4vfC8gjcCRuXBTln27sI6qOkpEdJBMnH9xnaUNRY3NMJo?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<p>step ketiga kita buat passwordnya dan unceklis DNS lalu Next</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeOu_UmTXQ2v2JeRtYlYPr3yYFcnoHnzJOnKT76p-0nn1fB4nOnRrmoYoUTvQK4cLqP87TrujXSO_7FKpADhIiPixjJONWCOQu0UM-G7QMa-GJtC3Hve8p6Hz1O79DDnusc9_scbZg-J7kMT9MzJAORIOJW?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<p>step keempat kita pastikan NetBiosnya ada, jika sudah bisa langsung Next</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXel7OxLSlPLpOPvDEAo57imNcruR341j2fiIY2IJjkoBfnL32oqbxPvnpjyUOUNx7qIY2OHUt1-l80uf6WmsVRTb_SJjylimk9ARnbWKjNPuLAFhh_i5MO7aOpPfVmjMjIM02xqnrP1Czw7G272G8HcQ9zS?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<p>step terakhir klik Install dan tunggu instalasinya selesai akan reboot otomatis</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc_hmFslr76JwG-NpL6akj-e5RpbDWxurSdAYg4QiA3kN9S4C43MWP7hNvaVH1xm16U1mMz8ydBmPYqZIZKtIrQlZa6LTVgo4gxNltbqG2y21fQZOxHqaKRnvMHAbuN7mCacaeuc2k76wNHghR-pjpLLn0?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeXvWd44gMjlLSRjfJSxfVMCSc5x_9BmbZVpaPeKnBKei6bcCnqakzimUpB38xG8mv_qsEIWMWID7tYKZ-x5a8GZNhgpiQ9v8pYsb7BSVuN5vDTkvJy0E-pCxisE48sucLt330nonbooTKpZ8j-xtf4qu8W?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<p>Jika reboot sudah selesai, buka server manager dan klik <strong>tools&gt;Active Directory User dan Computers</strong>, jika domain sudah ada maka active directory sudah terbuat</p>
<ol start="3">
<li><strong>Join Domain Active Directory</strong></li>
</ol>
<p>Kita masuk ke server2 untuk join domain ke server 1 yang dijadikan active directory. masuk ke <strong>Control Panel&gt;System and Security&gt;System&gt;System Protection</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcYuxcqDbz_7yx0nc21LTqz6bo7Lu6SBtx62nhI7B-QEqnKZbNPZ61TCekjybDA_aeMJvwyFiUluY-bUFCVRPpHOdwFprRqpmB0NUu56rguGpYQiYvF84uvAYASXZtQlYxNuc5y3DKDXdG1kk6n57QVZ3X6?key=RQm-yGUtGrFmOk23WZNrWg" alt class="image--center mx-auto" /></p>
<p>nah di step ini klik <strong>Change&gt;Domain</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdicS9RXr15shkis_rR876oKu0q80lTqf0e2xAB_6LRCwDV6iJh9jgr4027aalhaKe23DpEzaZfKFAh_Xg84YzcvMqup8wChl-3O-KEYDUUn8Ijc1Ox0MDn_DdnbtPE5gJw5KGM7aLEg6-iuQL1KR0tD3KW?key=RQm-yGUtGrFmOk23WZNrWg" alt class="image--center mx-auto" /></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd2zTqYziKcqcnvEe6II_fCBgKjNeRdOz8XHnDzlpIozaPFEq_jPuzWdxNYhHBNHsBfSyAbzwjdyRqT57G8poHK_mdD-7DEtkgVs1KZfjaVxrnVXRNcddVGXTdwvHwDUcmUiEwi8Cx2D3zsoxs_LvtHNmNO?key=RQm-yGUtGrFmOk23WZNrWg" alt class="image--center mx-auto" /></p>
<p>Ketik nama domain sesuai dengan yang kita buat sebelumnya di Active Directory,lalu masukkan username dan password server 1. jika sudah kita klik OK dan restart server maka otomatis akan join domain dengan server 1</p>
<ol start="4">
<li><h3 id="heading-menginstal-file-server-dengan-server-manager"><strong>Menginstal File Server dengan Server Manager</strong></h3>
</li>
</ol>
<p>Pertama kita klik <strong>Add Roles and Features</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe8S2G_bIUsRRVPyudr-R2q4GTmiT-Xwe3hj-S2iVX1mAVl716d_KOWSsnPOKoMZwUGMgafSvSH86bFAdnkiMOXm8P_PBuKIKeweZiBWwzn_CPy42kH-Asc2gHD8ZX37-Wv2uCBWWAYRyYKkhijnd9wu5k?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<p>Setelah itu ceklis <strong>File Server,File Server Resource Manager, Storage Service</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdkfRzDv1W0ZLA0ZwsliE-w7ZC0mKB8SKKSBCmMCz6o58UHVN2TPsNc-RYjBbsNKhMLJX01i_knwmSQons89WxrVzeZ8hW8giDSpdtOolc1cdZ_ZJSr7bRkRK_Cxlh6Xgv1g5Q0JclDHPswtjiDPMQmQhWv?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<p>Klik <strong>Install</strong> lalu tunggu sampai penginstalan selesai</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd7eyIuxhT8RRUPrLw2SKLaFwyThl-VmNzSWuQlWYlIX3qaHuCZV8XrwMq6qL80byHOMEiYgmTIo_hOMuXO29y37A8oDwe1EERp4NqsL2_sYRbTk-GRTo-Wxa5ClK2jhhbIqoBczwijS2Yar1PWjg65UGw?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<ol start="5">
<li><strong>Buat Folder Untuk File Server</strong></li>
</ol>
<p>Masuk Ke <strong>Folder&gt;New Folder</strong> lalu buat foldernya</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd9JnNITvERqljy4sJRaKAjSI7eVqju8wXvh6Ywv0dkYxMHXvdciZ_zS_73xrQCBdzJlpcLBtjrq91wxM3IOio0j0Ry5VvRd53U1SV3UfTAeM_yavKdsfwdAUygnphhClUjUdM3mBdVb-6pE1lzZ29lCdU?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<ol start="6">
<li><strong>Arahkan Folder ke OU Active Directory</strong></li>
</ol>
<p>pertama kita klik kanan pada folder lalu klik properties</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeHFW_vblBRDO6lFlFdcdP49IlvPhtfmB8D7UoOByvJHL5oC-HOF6Es9Eg6sRbagWPhAA5SC4ZVQOntp6bfOQlHQyaPzy-zpqCAmDsEFehK8xYcXux7vBzGGToFPvgLUw00-I9lrabtjEof510OjmgSCffr?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<p>klik <strong>Sharing&gt;Advanced Sharing</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcgnTbZdZ6pqZ9dC52V-7Lf0lgqjPQboJwj77w6WV2dXRTAo3hyVvZjPJ4CoKZjQp8bKRNs3nmg_Kf8U7nHIAg3KRUnPBdP0-m0bNVtCkqbOUGLGldLME6R8Ss83BNQJZCyvQGztZwxIj3UtY1ph-3C5br5?key=RQm-yGUtGrFmOk23WZNrWg" alt class="image--center mx-auto" /></p>
<p>centang pada boc dan klik <strong>Permissions</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdWeEg2EEXx4G0fOwgWrdw1x5Zrt1maI3VET2cDeirKe2XCuQWMOlejxn9UzTpaC4QsrIPTW2ZjLlged4APB_Zu1PzNubsUftyQSr-rxcLSHUuLkL9GCa-yVLkNL70h5k-5OFddaQopn4W2ZzY1R5--n4N7?key=RQm-yGUtGrFmOk23WZNrWg" alt class="image--center mx-auto" /></p>
<p>ketik nama marketing lalu klik <strong>Check Names&gt;masukan credentialsnya</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeDYZuxPyz-qIEGP_r1ognicsQwLdY2QBaeMjk9h3YBml9BShlGmwqbmW_P9YU6rLbC7bQEVAE6O8GbOCMmoVyfA3ZrlcF8XlXTmS_9qLvXyqU5JtMeJs_PvLCmzrIhmkg_xFseLo1mJSO-krW0D6jfyEN8?key=RQm-yGUtGrFmOk23WZNrWg" alt class="image--center mx-auto" /></p>
<p>Jika sudah klik <strong>OK&gt;APPLY&gt;OK&gt;OK</strong></p>
<ol start="7">
<li><h3 id="heading-membuat-organizational-unit-ou"><strong>Membuat Organizational Unit (OU)</strong></h3>
</li>
</ol>
<p><strong>Buka Active Directory Users and Computers.</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcGAqD9wNsTuTibDMdmmFpYCj7LkhghNnMGw9eCYCqRInutZ-_EjClgEgESiTF8dXDyGQ3wMLm8Rl_qRWry2N9hogAQFhcwGs6H021fvIElp7te-SnQBjwJe201kE9I99VoxuSexWdsRlXxD8iGAxS8g9w?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<p>Klik pada domain dan klik <strong>New&gt;Organization Unit</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcCor7---iEXpe2-02A7N4VQDmIuYptcOXlr9wYUOEIwNfj0W_EC2pUhiutNRAIFy54mbTj7Jgdm9mLY9i3EABoN3p67j5f_3jLgkNHqPMKOd_P_1HOrDhffIWimDFvthuKdnEg4A8xHrR7iKXRoa2AUHcx?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<p>Beri nama OU sesuai dengan departemen (misalnya, Marketing, HR, IT).</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcQr2BHUW1IZRZ5d75tX7SgVLfpbP_VknCbyvRH-3XwVJea8TIxlI1-62wO6ckjUxO70jpo-Glcoxj4p6v8Rtv8qy9fWD8ooDdYM1FSb52R0pqV0C8P7tcNOhITQ7NwFjCka40veTFXxqlQQqoXFNj-cWyR?key=RQm-yGUtGrFmOk23WZNrWg" alt class="image--center mx-auto" /></p>
<p>dan hasilnya akan seperti ini</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd_lYwO_MmcSBrmJ8aCCnZ0EI9tAEU65IySAFgPdabdzXj9wNv0dsodJzm5gWl-5RPc6jDS7Sz0wQEpHXNqBTLuj0ZtJ54eLVkiOsfxHDJsYd7HsYo6Q_hsPc1kBku4Oa5za02H96QSJeCoVMn0XIxjt1SU?key=RQm-yGUtGrFmOk23WZNrWg" alt class="image--center mx-auto" /></p>
<ol start="8">
<li><strong>Membuat User dan Menambahkan ke OU</strong></li>
</ol>
<p>Klik kanan pada OU yang sesuai dan pilih "New" -&gt; "User".</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdDAM0H7d61jCzIT9trCnE1LAuHT43UjQvC50CL_ahkZt3LiohMZSBNJm-kc-pSfT70OD-bNMWnhgrUdUKuNmRGU81Bx5RhSIbq0YD764zwztoNMHTiMBIeD6BTpGhTGjjBcTV2m3lMcvq4MRjZCQGPYklM?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<p>Isi informasi pengguna </p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfuem90zt5RFpiXwC5BK-k6N9iXbe8w9z6OiETPpIPCWw5ikYEPQNlCVkQPEBUnX0KYrijE0a2S9Fl1PBn2UuVBhALgROcEvDzmwiPGFq1TDePGofvmwOmH18ojPKF0MPj1-7Who10a0cLIItmxxN5qjjm6?key=RQm-yGUtGrFmOk23WZNrWg" alt class="image--center mx-auto" /></p>
<p>Isi passwordnya dan ceklis user cannot change password dan password never expires, jika sudah klik Next dan finish</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcqwtzRKo5ZZ4HccroBo7rkBFGnyzLcJXee4trkW0Bgjsppw96RBN_gBGmZ4TV2FD-Z4sWteUIh779UnRFRYq5hCY92krZ0-hx_UvrWGDQOzyPG9vua1SMZGwpp8amG_6QRN8crOVgysFYJ-9GJq9FFcz0?key=RQm-yGUtGrFmOk23WZNrWg" alt class="image--center mx-auto" /></p>
<ol start="9">
<li><strong>ADD User To Group</strong></li>
</ol>
<p>Klik pada logo Group</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdARnzhrlqVh5oTVANxx1jodn1_uR-5YHszMgT__EBGre4f5bc5zl_4R3haxFM9sgo0k8n7inDo0vrQYIOHqvCoK1OZMaIcEp60Ws1s2YjSVmmB8zaAbujhGKf0qneJvuRkKhXSPuQFi4yHTZDQ2eMQ_G2-?key=RQm-yGUtGrFmOk23WZNrWg" alt class="image--center mx-auto" /></p>
<p>lalu buat nama Grupnya</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXffjLEGsShHoZGJLH_2LKdlv8kiZnhUFjYK59TKcVn5ikK0lWh6jz783-TvHnS4ur9LZ9QaV8r0V5rDgyt4Dsg3E9bz7bURST0bmZ6A8FIHE31xfkI0nnDiyX2r4SUEJhl1_430QBHu2qSXQ9El_hh7POeD?key=RQm-yGUtGrFmOk23WZNrWg" alt class="image--center mx-auto" /></p>
<p>Jika group sudah dibuat, klik kanan pada user  dan klik add to group</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc4wZfWYUhdqv8A0hgqO5BlyMtiNnhy_ilSKplGLCABg1XUi_Hz6NnUMLePDro1f68WAMR8dbHnygIo6G5E89GHXckWsx76lQhvEXQ4yNrZcpox5FErGBYfEqrgTw2J68HDg4jjh8E8eEyQB0Zbcs10VFU?key=RQm-yGUtGrFmOk23WZNrWg" alt class="image--center mx-auto" /></p>
<p>Masukkan nama grup lalu klik OK</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcTsxgQyVaYC_2_XwtMoRpaeczIJLbFXV0JGb-MdvC5jlf8sKxLDBXjt65oOGmloo_1xcALsb4yEPKgAzy1f188wm4HYZs7c5MSLUnFbUvQFxw_fgr9G4nCUwLslMSJn4GGsjBWoctB9JYpuVmg2EjV4AtM?key=RQm-yGUtGrFmOk23WZNrWg" alt class="image--center mx-auto" /></p>
<p>Jika grup sudah dibuat maka hasilnya akan seperti ini</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeWKl4iMzCQvogbeVybTq5JRE97x9MPTbPcFGO-QWjjd03ErnGvaQEhHZHZv2I2EF65dY8Co1nVl6_WxAsvROsdw_0kXcQmt9zq2l0EKg1RA-FGLWRfQWSGGyF2hcWK797ki-Tu10erj4Kbhn7KFrm16jo?key=RQm-yGUtGrFmOk23WZNrWg" alt class="image--center mx-auto" /></p>
<ol start="10">
<li><strong>Konfigurasi GPO Logon Banner</strong></li>
</ol>
<p>Klik <strong>Create a GPO in this domain</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcqG8W4AzVEUuxoPQVRtwDrsxwoJqUqQEPzrhGNcQjNnx0_NW59y-vdVw_EawgPUcVdRz-QAjPIztrjyx1JeQ8TnoIHnYi1kPn9l-v7PrgbT_fDPSFlrM89WeB-gcrWWHpF7P9Da92A4ylja9AyfGa7zxo?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<p>Lalu buat nama untuk GPOnya</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdzfO66i8e5vZ8B-z5RcNFxP1HQUVl3KYC9HwPCNYroy3GEGWWGy3caWmse6dcG8k1Prbw1xpV1EA5Rvp6t3UfHNeTBQks9lJOi5mv2SVuJWeAABbr8mzI2oEN0G2T0aTqT_Zx-0oGQE_Uh41Hs5RjPIDM?key=RQm-yGUtGrFmOk23WZNrWg" alt class="image--center mx-auto" /></p>
<p>Jika sudah klik <strong>edit</strong> pada nama GPOnya</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd5IsyO1NfmIq0sK0bkViyngTJ4mNMTyY9rlhk8rDh19PHv-2rn0YAthoK3axiHKjLgqUiVElczRBzitDh3Q7EmDnfHSAukaTZ8Jq0czf7YwloyLNX_RFPMkIgB7k_0Fjq4DEg7zWYZ61DZrIlGKOsnYAE?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<p>Lalu klik <strong>Windows Settings&gt;Security Setting&gt;Local Setting&gt; Security Policy&gt;Interactive logon: Message</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfYAcKa1hoJmKcyvZrb6vWcpg8p8h31hdrizb4MTPDxMp1FDy6YoaNVs0znPufSMFIIpctiYUeTxq-43LvBzwkvnk08CIbOieA0BfkZznGR06D4R9tfrCNd6huMQCTc35IKBe75dwP9WJHuE4N03Gvzv3ww?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<p>Buat Text untuk banner ketika login user jika sudah klik <strong>Apply&gt;Oke</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcF2sIFmBpByDD1ENNCa8Pc5yEb54oYbZ5chUMFc8IqKPzSj8mf7Y15Zi-wNL-iq1bPcN05YTmY9IqMywwK9Ac6fcRlh3f9r_U8CmZweKa8xlrHJp4b8ab-TAl2ggeETM-20VlXiGGxyOQVE_DTjVdmYBw_?key=RQm-yGUtGrFmOk23WZNrWg" alt class="image--center mx-auto" /></p>
<p>Selanjutnya Klik <strong>Interactive logon: Message title</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXez1wpBheRWD6vwvtN7foePdba8qx8Gwp0k2ZpMNc6jtZWv7M5jcGSIDCQtEBo0-5pqfV41sNuU9JNdqEHO1AGE6lSo1OZxCaKrGx8-Ge2iPwEg8LlfeDb_UMTKB2dFCnLxfHTqcOFJOR64c4zGioHPae-1?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<p>Lalu buat untuk titlenya pada user ketika login setelah itu klik <strong>Apply&gt;Oke</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdG5ig_HiJoMGYiYmPvzYO7ac5YuXvUg9HPHM4kHMfJ5LJfnyzcXJBnqC9YQmq-ld1feXBFlIzcTrEE1zZDgettuhiC-vSPl99jaoocqm1rds--KmE9fvLrFKAQSVUHeNXYc0VPEkAuGC2yctWqt1lrfUtm?key=RQm-yGUtGrFmOk23WZNrWg" alt class="image--center mx-auto" /></p>
<ol start="11">
<li><strong>Konfigurasi Drive Mapping File Server</strong></li>
</ol>
<p><strong>#Server1 (Active Directory)</strong></p>
<p>Buka server manager lalu klik <strong>Tools&gt;Group Policy Management</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd41CzH_UDWTH0M3HRhSpHpuupOX9M1gevSvLbzdqpbWns_ienWq4T7bKPGec_1JDoOKIfCpVcth22K5GrExQYa4o3_lUnaHbpKT826B8-NcqoelIbmfM1l7QQtU-Uv3-j_ykPMYutUUwMA33LyC1M87y14?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<p>Jika sudah klik <strong>Edit&gt;User Configuration&gt;Preferences&gt;Windows Settings&gt;Drive Maps&gt;Klik Kanan&gt;New&gt;Mapped drive</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcQSutS61lsfuFyexGrBTl3I1tDz1vRhQtUmUUP-XeFsd7JXDtfFMni4TN5yMNlQ0TqL9CmUQu0aBBIC9sR0RJka2IJGB339R0v2eIKfsw4r8KdCE1h4Vd3251RXjtwwUvCCPzQrsvndW_NCwzBUfS_KFxK?key=RQm-yGUtGrFmOk23WZNrWg" alt class="image--center mx-auto" /></p>
<p>Masukan Location folder yang berada di server 2 dan drive, bagian show  drive atur seperti itu saja, jika sudah klik <strong>Common</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfQio7eDp8ow5DwWQO13Twqq6_HGd8aZvYCdFroMgEk3KLFspF6n9CkCRf0TJnGrmeBhi9BYECX4zgJb0sJQP0IJkcPj1mBPFUDS81ygEMYqiiw87jWy2YUe70alLl8ooVg3DW4CYcNNmBsJUVrSN_PztwR?key=RQm-yGUtGrFmOk23WZNrWg" alt class="image--center mx-auto" /></p>
<p>Klik <strong>Item-level targeting&gt;Targeting&gt;New Item&gt;Organizational Unit</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe2hrxAA7_rPL6yangN44BU0oh36o8xo0buzItEtGBr2dBOHPstIY0kIKeRCPNxw7XGEjrxaFDD-lB7q4yZQAwX6YU_prrgb1zt3gFm-LZL1GlagINK9_U34mrx8Q5g6m5R6_v1gDVl39yas-SyGL8tqTvz?key=RQm-yGUtGrFmOk23WZNrWg" alt class="image--center mx-auto" /></p>
<p>jika sudah klik … dan arahkan ke OU yang sesuai dengan drive</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfAcRNd-NQvvlm4Onn8UdznJ9F8DTnXIpFdeUZOT8SiJQ81tn8-4e3tU_stGOy85XPEa6f5q-8OO1e-5hyEpZrugDe-eOl56NOgxjq-giBMQYopK47T5sv7u_BcspHNyul8MvFjPcyBqwCrKq2kyyM-ynU?key=RQm-yGUtGrFmOk23WZNrWg" alt class="image--center mx-auto" /></p>
<p>Jika sudah klik <strong>OK&gt;APPLY&gt;OK</strong></p>
<ol start="12">
<li><strong>Pengujian pada client</strong></li>
</ol>
<p>coba kita cek konfigurasi kita di server 1 apakah berhasil. Masuk ke device client dengan username dan password yang ada directory misal: Rafael dari marketing</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd6io1F15btzzQTOFF2C5NglIRsTD5XqIXRm-6qz5DSLerxem2_znOvjFaL1B4U1_Uth5uIoImcifAvhLBfYELzKy0iMiIafr2lippv20_5-L8NAl06pwzNcGx1dUCwlTgpsCF58Hr8PIJYazIHlHijcNNB?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<p>nah, untuk bannernya sudah berhasil, coba kita cek untuk file sharingnya masuk ke <strong>Folder&gt;this pc</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfD4jgSc8c_SfVscOK5sN9C0NDTUfV7l3ydNSV9V4gwsaKeMele8JbbwdHnTkdaOE_dx74mJMjgYF-9PrZpGoVxc8372LRslW2Pp0Qx3O5QzEmqi1J_ugiEUokpZay51RpS63l-Omb4MWpNDJAudGZXI5H7?key=RQm-yGUtGrFmOk23WZNrWg" alt /></p>
<p>nah, bisa kita lihat bahwa untuk folder dept-marketing langsung terhubung dengan user rafael dan untuk folder lainnya tidak ikut ditampilkan, ini menandakan bahwa konfigurasi untuk active directory kita dan file server telah berhasil</p>
<ol start="13">
<li><strong>Kesimpulan</strong></li>
</ol>
<p>Dengan mengikuti langkah-langkah di atas, kita telah berhasil mengkonfigurasi Active Directory dan File Server di Windows Server 2022. kita juga telah membuat OU, pengguna, dan GPO untuk mengelola akses ke sumber daya jaringan secara efisien. Konfigurasi ini memberikan fondasi yang kuat untuk mengelola lingkungan jaringan yang lebih besar dan kompleks. blog ini memberikan gambaran umum tentang konfigurasi Active Directory dan File Server. Konfigurasi yang sebenarnya mungkin berbeda-beda tergantung pada kebutuhan dan kompleksitas lingkungan jaringan kita</p>
]]></content:encoded></item><item><title><![CDATA[Panduan Lengkap Konfigurasi DHCP Server & NAT Gateway di Windows Server 2022]]></title><description><![CDATA[konektivitas jaringan menjadi kebutuhan esensial bagi berbagai perangkat, baik komputer, laptop, smartphone, maupun perangkat IoT. Untuk mengelola alamat IP dan konfigurasi jaringan secara otomatis dan efisien, DHCP Server dan NAT Gateway adalah solu...]]></description><link>https://blog.bayhaqqy.my.id/panduan-lengkap-konfigurasi-dhcp-server-nat-gateway-di-windows-server-2022</link><guid isPermaLink="true">https://blog.bayhaqqy.my.id/panduan-lengkap-konfigurasi-dhcp-server-nat-gateway-di-windows-server-2022</guid><dc:creator><![CDATA[Rafli Abdul Bay Haqqy]]></dc:creator><pubDate>Mon, 21 Oct 2024 13:31:18 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1729517330932/3a908cda-b3bc-4b7e-84bb-b8de9c7a3ecc.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>konektivitas jaringan menjadi kebutuhan esensial bagi berbagai perangkat, baik komputer, laptop, smartphone, maupun perangkat IoT. Untuk mengelola alamat IP dan konfigurasi jaringan secara otomatis dan efisien, <strong>DHCP Server</strong> dan <strong>NAT Gateway</strong> adalah solusinya.</p>
<p>Blog ini akan mengupas tuntas panduan lengkap untuk mengkonfigurasi DHCP Server dan NAT Gateway pada Windows Server 2022, dilengkapi dengan pengujian menggunakan Windows Client dan kesimpulan di akhir.</p>
<h3 id="heading-1-mengenal-dhcp-server-pemberi-alamat-ip-otomatis"><strong>1. Mengenal DHCP Server: Pemberi Alamat IP Otomatis</strong></h3>
<p><strong>DHCP (Dynamic Host Configuration Protocol)</strong> berperan bak pelayan yang secara otomatis memberikan alamat IP, subnet mask, gateway default, dan informasi konfigurasi jaringan lainnya kepada perangkat di jaringan. DHCP bagaikan resep ajaib yang merampingkan proses konfigurasi IP manual pada setiap perangkat, menghemat waktu dan meminimalisir kesalahan.</p>
<p><strong>Manfaat Utama DHCP Server:</strong></p>
<ul>
<li><p><strong>Otomatisasi:</strong> Menyederhanakan proses konfigurasi IP pada banyak perangkat.</p>
</li>
<li><p><strong>Efisiensi:</strong> Menghemat waktu dan tenaga administrator jaringan.</p>
</li>
<li><p><strong>Pengurangan Kesalahan:</strong> Meminimalisir kesalahan konfigurasi IP yang dapat menyebabkan masalah jaringan.</p>
</li>
<li><p><strong>Keteraturan:</strong> Menjaga konsistensi alamat IP dan konfigurasi jaringan.</p>
</li>
<li><p><strong>Skalabilitas:</strong> Mudah beradaptasi dengan penambahan perangkat baru di jaringan.</p>
</li>
</ul>
<h3 id="heading-2-mengkonfigurasi-dhcp-amp-nat-gateway-di-windows-server-2022"><strong>2. Mengkonfigurasi DHCP &amp; NAT Gateway di Windows Server 2022</strong></h3>
<p><strong>Langkah 1: Instalasi DHCP Server</strong></p>
<ol>
<li>Buka <strong>Server Manager</strong> dan pilih <strong>Add roles and features</strong>.</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd9BhyrWqzPWQx33PSJLc2Tl3UzcHHXlF1LO1LbMvdyJzzYNZOYv4fKQqVnSi5rsGyveJc9MJF_lavK_5mI9t8MDH7fK-iXMqO90QXEazffWicleiGONXIO2ZhIKqi09ZN3jPtNvpSWk0-Zj4WasqU8ryBo?key=AX41IRA1zBTux8832xdUZg" alt /></p>
<ol start="2">
<li>Ikuti wizard, pilih <strong>DHCP Server</strong> pada daftar peran server, dan klik <strong>Next</strong>.</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXee2_bqwR5ocujnEPCwR46aNFSrK_Yx_CK4r7RfwsNzIIP61f_sfDYfni8kY2DAbl8BRbr3FfVVhL0hdm8LVutD8jt_qUAHYI6RWkmNFS9aGKCJpplX52GUDMEdjpMLxuaXi1oeDMuUggw9vJ7mpLg57pnx?key=AX41IRA1zBTux8832xdUZg" alt /></p>
<p>klik skip page by <strong>default&gt;next</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdza6983M7k2NU1w2KryltHwJtZAVF55Ltu_H9s_SXLjk1VdKbtkjlrpK4qPmbXSox5s4ZiqWoBfgqn8q7uohpwZ3UxLeeyJQ_OSLrhiiRN-LjWZBArMyULfpx2MMzcei5dpR4k1XojErzwAG9R_NwOojGv?key=AX41IRA1zBTux8832xdUZg" alt /></p>
<p>pilih role <strong>base&gt;next</strong>  </p>
<ol start="3">
<li>Klik <strong>Install</strong> untuk memulai instalasi DHCP Server.</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc2jE6NTNckiDiny3RP_bwy2cPQeSZsfeevjaqL8acLTQ02qo7eVuSxaj5er9NMaFGVQLN-mpmkOq0QBR-kNWL0iks3APHqAx-q_OQIg6PNDtGNODXv7Mvi-ljrgp9Dk7qQMVf3TYs4m4_mEKxaAeitWBtp?key=AX41IRA1zBTux8832xdUZg" alt /></p>
<p>klik pada windows <strong>server&gt;next</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfuGhPlMcZOOUVEHIkNwhGTENtFS6o0iw0_mM9OWELj5_bpPD3Yk02_XkRN-1ifp0peQiGjkUz2R1nBJGX2ZpsfX34a3eaUfM9mnQM3707QrJINhc06JHzx6BJQp4M46U_AkiCcz_GZ6h9Wd-biinDFq915?key=AX41IRA1zBTux8832xdUZg" alt /></p>
<p>klik <strong>DHCP SERVER&gt;Validation&gt;next</strong>  </p>
<p><strong>Langkah 2: Konfigurasi DHCP Server</strong></p>
<ol>
<li>buka control panel lalu kita buat static internet terlebih dahulu</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdSmK-ivIisIuniafbnFpV5HG1_Q-TGuZCQOvdNR9vS-Z2Ayl1hQVkWtks2cGIrneCkGcuc674_eRKlLYJDtRRAFDnxPVsppYuuLOE9h65SNXIOnNHtkar_XF_7UMDqk3sgA2HjndZ5PGywJoefJ0LmLNN4?key=AX41IRA1zBTux8832xdUZg" alt /></p>
<ol start="2">
<li>Buka <strong>DHCP</strong> di <strong>Server Manager</strong></li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdDDlA9ImIYJAfLgbBE1fBTSOTFV9dV0YOEp-euTi-DWl3usGakLpkthyLgR3j71gDGbjTpO2Ed1CgAV2qcPRpJl0a0eRmMEPKgZl0nHQFy6Dk1h7OgZm5XkRuYW8g4XqI1hVNEA3fObs31_C3lp_EYZYA?key=AX41IRA1zBTux8832xdUZg" alt /></p>
<ol start="3">
<li>Klik kanan <strong>IPv4</strong> dan pilih <strong>New Scope</strong>.</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc6Belm-D_Ngt0M2oIxAofL0IrYOWIG8VMaVNrcg4Tgku8y_tpQUrcCp9orUyTQZhPf-KcpFEQKowVpHmJE5xk_rTLPU967hPtM_sOkSQHNOHHgAHOquwqXT-KKG7983I7gHSh-hycbqZaMKmuKlqofVJ4P?key=AX41IRA1zBTux8832xdUZg" alt /></p>
<ol start="4">
<li>Berikan nama dan deskripsi untuk cakupan DHCP.</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdVQ3CLkWgrt-GCN8mTGIniPDJ4GR0Hjshu6IUpJALtJogM9bVe-MuRZiG-dGV0qYW3YUTeewHuhAbk8gCX5uJPhyDAr0uTVz9ht-R88O82cg_8gPiy55xJLTlyz9LFV_QvRveRRealjErWPW1eTRQAlxc2?key=AX41IRA1zBTux8832xdUZg" alt /></p>
<ol start="5">
<li>Atur rentang alamat IP yang ingin dibagikan kepada klien lalu <strong>next&gt;next&gt;next</strong>.</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdysloHlvUBcTd5xppkqk4DPRQ0YFnqnq_dXS9NDl70CMD6l3KbJJTGprIdc6Jgyl6XIdDRczYj913S7-9BD8pzbmHdsc1CRDoasW3kAXD2QKlkxG2HTrMaBCTeyX-UPlSna65gtGLGJZGw7MxZc-gZ6X0_?key=AX41IRA1zBTux8832xdUZg" alt /></p>
<ol start="6">
<li>Tambahkan gateway dari routernya yang kita setting di control panel lalu klik <strong>add&gt;next</strong>.</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdi7dfrj0MOmB9BV1XOF5v0Rj510Gu6OWrKxsnebg2L0-o0lKDd9Xh5E8CKNRh7Ki6gymiiifA4Oh_b_bpV6OPASbC48fyjVsa3vm03cmkYthpahurSPBggNNuHl9ZmmpsBt0a9cCsHzYZiKuw1Tdg1Zs82?key=AX41IRA1zBTux8832xdUZg" alt /></p>
<ol start="7">
<li>isikan dnsnya, untuk yang lainnya itu opsional saja lalu klik </li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdDOhWscYglc23bjpARhGQ__TKPbYmLMFYQlupbr6z2JQtkn-GhaBj7xjhLu44iKnNQRHtVN0lpzVNtt6yk7lIsV3kmgzVZjpOdn-DE2k5GAI_ArGPxTLMJ9Kw7euqRSWUi2TOr9qP4celKQsY9Gk9pg8HY?key=AX41IRA1zBTux8832xdUZg" alt /></p>
<ol start="8">
<li><p>Klik <strong>Next</strong> dan <strong>Activate</strong> untuk mengaktifkan cakupan DHCP.</p>
</li>
<li><p>jika sudah semua maka hasilnya akan seperti ini</p>
</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfvl3T5CN4PEJBi-z3KBFH_g-8u3J6nAp2yrut-38Y-O3C1VBGkctBCv4c9OgJzsB421I_OR2hnQTdv_QqHuv442RBYC178Bn9q8WsY7wQxWieLOjSqHft7GJ4FefvSBj1-80NQ0JOAVx-CU3GsSTEOMjnV?key=AX41IRA1zBTux8832xdUZg" alt /></p>
<p><strong>Langkah 4: Install NAT Gateway</strong></p>
<ol>
<li>Buka <strong>Server Manager</strong> dan pilih <strong>Add roles and features</strong></li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdFtm2nxxLKkQVLFC4eByeb0FAxGKTtMI3GJH7zNw1slccB4ZnPeekLiKHDgPiVfY5-eXOSREUkPzqLhdRJmMACw0AH4ED2S6wVlO991CQGdMPx6Ia4pjAA0uRadDUUwAfJxMTfr91cJlndMpeWlN00qYw?key=AX41IRA1zBTux8832xdUZg" alt /></p>
<ol start="2">
<li>Ikuti wizard, pilih <strong>Remote Access</strong> pada daftar peran server, dan centang <strong>DirectAccess,Routing</strong> lalu klik <strong>Next</strong></li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfrnGTFJ6RqV51M_qLA3fC8la8hMX9rk8HrmHghn_l9GwcTliFNfPzJ7H3lM_e8kC_GnwSa5h38Kjs3_wdmU3TKW2kEsH7XJ1H5pV3SjZg7hT8LGgZT1ttogGDCG7Qn1-jfNuZi8xHbAtqOaeecXgkJtNU?key=AX41IRA1zBTux8832xdUZg" alt /></p>
<ol start="3">
<li>Klik <strong>Install</strong> untuk memulai instalasi DHCP Server</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdqUEUdlG-2d_UOuiGT1abXSvGbzVBvpnqCouKBxq2GtKK1yg1WvrpxfAvd1pqp2vYdrEdc917k7vmDO7mCebs7ZNkunUsItiHrNCuXBNMhxGWA2qzfsE94rsgD66DPv7SOV9C4DCi5fBK0Xp6gBu8f-Cf5?key=AX41IRA1zBTux8832xdUZg" alt /></p>
<p>klik <strong>Next&gt;Tunggu sampai selesai&gt;close</strong></p>
<p><strong>Langkah 3: Konfigurasi NAT Gateway</strong></p>
<ol>
<li>Buka <strong>Routing and Remote Access</strong> di <strong>Server Manager</strong>.</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdGWjqdWodejWqNTnexh7vtVKsuEmyuyuCy1fNUhTjQkEkOOFwRb3SKw-1Nqw3MrSvFkr7xCaMxJ-5clUs49fLtgbxVIGGvQtRtpZWfOfLkoyRn-Mf_G4H6gQdLBAwAS-vuErTgepLzgO1EDrbngpdYiWJ0?key=AX41IRA1zBTux8832xdUZg" alt /></p>
<ol start="2">
<li>Klik kanan <strong>Win</strong> dan klik <strong>Configure and Enable and Remote Access</strong></li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe8TdeU6JeU3q6RyWGpiTahJAQS_uGyAb7J63zvDgorSUiRHbY8Vw6Hz-WExJTI4FtX9aMjUwst7ARnUxpBBbZyURRWHh_zpwPDzGaFkotPskK6fLZNZ8hkGnjU_TQLZnIjEPk2B-5XckYAyVfrCcc3Nok?key=AX41IRA1zBTux8832xdUZg" alt /></p>
<ol start="3">
<li>pada step ini kita pilih <strong>NAT</strong> saja lalu klik <strong>Next</strong></li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf9Ka6e0rVD3eqLlqMN3DWZT_8iPooFOFadwvSPmRIFY8fRBfY8hdpIpukak2SW8ZjUROAKs6JGqiAhS_s_CZX0zzRsvgGTVP-uGqRlY1nCykgexQrHUqp0b8x62o_ldF-1DJ7k-i87MpkwgBkiSB0x9wkp?key=AX41IRA1zBTux8832xdUZg" alt /></p>
<ol start="4">
<li>selanjutnya kita klik nat pada <strong>DHCP&gt;Next&gt;Finish</strong></li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcU0wiwNjoSH8dm23n67jEPNUDXHBRbLf36xtmppaPEXFxUS6LAjn6T2MWXxbBa9kTuYM7uFKNoHw7EzPyT1dr7kjagEYi_v5UZHuq1L-agvJtt2VnpSqfE-2b8cM_SvyPOnbjx6Y_zaX3leNLfENnvzbYL?key=AX41IRA1zBTux8832xdUZg" alt /></p>
<ol start="5">
<li>hasilnya maka akan seperti ini</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdndBBPT7V8YTS8stuC57dL525lk7H9NgLGJf0_UECGFZYx2awFWhPE_4DlrA_EBMJmanWjQ7R9-pZMhyHEx8aep06wxgAe6IhP1mxNR01aIwaWjeJA642nxaEsMiiFI7UgGtIKLg8D6ehflDDG0h2m9zvZ?key=AX41IRA1zBTux8832xdUZg" alt /></p>
<h3 id="heading-3-pengujian-dengan-windows-client"><strong>3. Pengujian dengan Windows Client</strong></h3>
<ol>
<li><p>Hubungkan <strong>Windows Client</strong> ke jaringan yang dikonfigurasi dengan DHCP Server.</p>
</li>
<li><p>lalu buka control panel dan masuk ke <strong>Properties&gt;IPV4&gt;DHCP</strong></p>
</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc3xEhAj1H7mh8f-WvBUvP95p6b5qIYZcSmPoAtODkuRDgDzssTflQAlNneXv56iFfYhzSEHxZ-Wa-vBN__h9RI3nneIX3_b9nha94ff5JGbOkKozrPy6D3vuOyqL-dzPiRMqa1RLj6y6kkdfUvDd_1IgMg?key=AX41IRA1zBTux8832xdUZg" alt /></p>
<p>jika sudah maka akan terhubung otomatis</p>
<ol start="3">
<li>Pastikan Windows Client mendapatkan alamat IP dari DHCP Server dan dapat mengakses internet. buka <strong>CMD&gt;ipconfig&gt;ping</strong> <a target="_blank" href="http://google.com"><strong>google.com</strong></a></li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf43bvDkj1en5tlxTDZp0vQaf0_QZ4uqFSl-27hA6fJTB6iB7ki1FAExlPP61hmF_Hp5PrKKH01vzfi2k77RAk0xKbY70AWGaGQHegG7TISQYu-fOm3nniAMzn-9V3GHM5f2eqh9MY3-5RXsYTrQnkG0VZA?key=AX41IRA1zBTux8832xdUZg" alt /></p>
<p>nah windows client  sudah terhubung, maka konfigurasi DHCP dan NAT GATEWAY kita telah selesai.</p>
<h3 id="heading-4-kesimpulan"><strong>4. Kesimpulan</strong></h3>
<p>DHCP Server dan NAT Gateway merupakan alat penting untuk mengelola jaringan yang kompleks dengan banyak perangkat. Konfigurasi yang tepat pada Windows Server 2022 akan memastikan kelancaran dan keamanan jaringan, serta kemudahan akses bagi para penggunanya.</p>
]]></content:encoded></item><item><title><![CDATA[Instalasi Dan Konfigurasi RAID Windows Server]]></title><description><![CDATA[Bagi perusahaan dan organisasi, Windows Server hadir sebagai solusi mumpuni untuk mengantarkan mereka menuju gerbang pengelolaan jaringan, aplikasi, dan layanan bisnis yang terdepan.
Blog ini disusun khusus bagi para pemula yang ingin menyelami dunia...]]></description><link>https://blog.bayhaqqy.my.id/instalasi-dan-konfigurasi-raid-windows-server</link><guid isPermaLink="true">https://blog.bayhaqqy.my.id/instalasi-dan-konfigurasi-raid-windows-server</guid><category><![CDATA[konfigurasi windows server]]></category><category><![CDATA[windows server]]></category><category><![CDATA[raid]]></category><dc:creator><![CDATA[Rafli Abdul Bay Haqqy]]></dc:creator><pubDate>Fri, 11 Oct 2024 14:21:49 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1728656397233/bd03bf44-1b71-4fcb-8db3-3ca69641bfb5.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Bagi perusahaan dan organisasi, <strong>Windows Server</strong> hadir sebagai solusi mumpuni untuk mengantarkan mereka menuju gerbang pengelolaan jaringan, aplikasi, dan layanan bisnis yang terdepan.</p>
<p>Blog ini disusun khusus bagi para pemula yang ingin menyelami dunia Windows Server. Di sini, kita akan menemukan panduan lengkap yang dikemas secara informatif dan mudah dipahami, mulai dari pengertian dasar, berbagai kegunaannya, hingga seluk beluk lisensi dan konfigurasi.</p>
<h3 id="heading-apa-itu-windows-server"><strong>Apa itu Windows Server?</strong></h3>
<p>Berbeda dengan Windows yang biasa kita gunakan di PC, <strong>Windows Server</strong> merupakan sistem operasi yang dirancang khusus untuk server. Ia bagaikan otak di balik jaringan komputer, memungkinkan kita untuk mengelola berbagai elemen penting seperti:</p>
<ul>
<li><p><strong>Jaringan:</strong> Mengatur dan mengontrol akses pengguna, perangkat, dan sumber daya dalam jaringan.</p>
</li>
<li><p><strong>Aplikasi:</strong> Menyimpan, menjalankan, dan memantau aplikasi bisnis yang vital bagi operasional perusahaan.</p>
</li>
<li><p><strong>Layanan:</strong> Menyediakan layanan penting seperti email, web hosting, dan file sharing.</p>
</li>
<li><p><strong>Keamanan:</strong> Melindungi jaringan dan data dari berbagai ancaman siber yang mengintai.</p>
</li>
</ul>
<h3 id="heading-menjelajahi-beragam-peran-windows-server"><strong>Menjelajahi Beragam Peran Windows Server</strong></h3>
<p>Kemampuan Windows Server tak berhenti di situ. Sistem operasi ini mampu memainkan peran penting dalam berbagai skenario, di antaranya:</p>
<ul>
<li><p><strong>Server Jaringan:</strong> Menjadi pusat kendali jaringan, mengatur lalu lintas data, dan memastikan konektivitas yang stabil.</p>
</li>
<li><p><strong>Server Web:</strong> Menjadi rumah bagi situs web dan aplikasi web, memungkinkan pengguna untuk mengakses informasi dan layanan secara online.</p>
</li>
<li><p><strong>Server File:</strong> Tempat penyimpanan terpusat untuk file dan dokumen penting, memudahkan kolaborasi dan akses data bagi tim.</p>
</li>
<li><p><strong>Server Email:</strong> Mengelola sistem email perusahaan, memastikan komunikasi yang lancar dan aman antar karyawan.</p>
</li>
<li><p><strong>Server Database:</strong> Menyimpan dan mengelola database yang digunakan oleh aplikasi bisnis, menjadi fondasi data yang krusial.</p>
</li>
</ul>
<h3 id="heading-skema-lisensi-windows-server-dan-cal"><strong>Skema Lisensi Windows Server dan CAL</strong></h3>
<p>Untuk menggunakan Windows Server secara legal, kita memerlukan lisensi yang sesuai dengan kebutuhan. Berikut penjelasan singkat mengenai dua jenis lisensi utama:</p>
<ul>
<li><p><strong>Lisensi OS Windows Server</strong></p>
<p>  <img src="https://belajarlisensims.blob.core.windows.net/belajarlisensi/image/imageweb/windowsserver3.jpeg" alt="Belajar Lisensi Microsoft - Semua Yang Perlu Anda Ketahui Tentang Lisensi  Microsoft" /></p>
</li>
</ul>
<p>Diperlukan untuk setiap server fisik atau virtual yang menjalankan Windows Server. Tersedia dalam beberapa edisi dengan fitur yang berbeda-beda, seperti Standard, Datacenter, dan Essentials. Contoh:</p>
<p><strong>1. Lisensi Berdasarkan Core</strong></p>
<ul>
<li><p>Lisensi ini dibeli berdasarkan jumlah core fisik pada server.</p>
</li>
<li><p>Setiap pembelian lisensi mencakup hak untuk dua core fisik.</p>
</li>
<li><p>Minimal 16 core fisik harus dilisensikan per server.</p>
</li>
<li><p>Contoh:</p>
<ul>
<li><p>Server dengan 16 core fisik: Memerlukan 8 lisensi 2-core (total 16 core)</p>
</li>
<li><p>Server dengan 32 core fisik: Memerlukan 16 lisensi 2-core (total 32 core)</p>
</li>
</ul>
</li>
</ul>
<p><strong>2. Lisensi Datacenter Edition</strong></p>
<ul>
<li><p>Memberikan hak untuk melisensikan semua core fisik pada server.</p>
</li>
<li><p>Cocok untuk server dengan banyak core atau virtualisasi yang ekstensif.</p>
</li>
<li><p>Menawarkan fitur tambahan seperti Hyper-V tanpa batasan.</p>
</li>
<li><p>Contoh:</p>
<ul>
<li>Server dengan 32 core fisik: Memerlukan 1 lisensi Datacenter Edition (melisensikan semua 32 core)</li>
</ul>
</li>
</ul>
<p><strong>3.Jenis Lisensi Datacenter Edition:</strong></p>
<ul>
<li><p><strong>Datacenter Edition:</strong> Lisensi dasar untuk server fisik dan virtual.</p>
</li>
<li><p><strong>Datacenter Edition OEM:</strong> Tersedia untuk OEM (Original Equipment Manufacturer) dan pre-installed pada server baru.</p>
</li>
<li><p><strong>Datacenter Edition Volume Licensing:</strong> Tersedia untuk pembelian dalam jumlah besar dengan harga yang lebih murah per lisensi.</p>
</li>
<li><p><strong>Datacenter Edition CSP (Cloud Solution Provider):</strong> Tersedia melalui model langganan bulanan.</p>
</li>
</ul>
<ul>
<li><p><strong>CAL (Client Access License)</strong></p>
<p>  <img src="https://www.mychoicesoftware.com/cdn/shop/files/ms-user-vs-device-cal.png?v=1870341076253301117" alt="What's the difference between Open License, CALs, and Cores? MyChoiceS |  MyChoiceSoftware.com" class="image--center mx-auto" /></p>
<p>  Diperlukan untuk setiap pengguna atau perangkat yang mengakses sumber daya jaringan yang dikelola oleh Windows Server. Terbagi menjadi dua jenis: CAL User dan CAL Device.</p>
</li>
</ul>
<ul>
<li><p><strong>CAL User:</strong> Memberikan hak akses kepada pengguna individu, terlepas dari perangkat yang digunakan.</p>
</li>
<li><p><strong>CAL Device:</strong> Memberikan hak akses kepada perangkat tertentu, terlepas dari penggunanya.</p>
</li>
</ul>
<p><strong>Jenis Lisensi CAL:</strong></p>
<ul>
<li><p><strong>CAL User Volume Licensing:</strong> Tersedia untuk pembelian dalam jumlah besar dengan harga yang lebih murah per lisensi.</p>
</li>
<li><p><strong>CAL Device Volume Licensing:</strong> Tersedia untuk pembelian dalam jumlah besar dengan harga yang lebih murah per lisensi.</p>
</li>
<li><p><strong>CAL User CSP:</strong> Tersedia melalui model langganan bulanan.</p>
</li>
<li><p><strong>CAL Device CSP:</strong> Tersedia melalui model langganan bulanan.</p>
</li>
</ul>
<h3 id="heading-memilih-skema-lisensi-yang-tepat"><strong>Memilih Skema Lisensi yang Tepat:</strong></h3>
<p>Memilih skema lisensi yang tepat bergantung pada beberapa faktor, seperti:</p>
<ul>
<li><p><strong>Jumlah pengguna atau perangkat:</strong> Pertimbangkan berapa banyak pengguna atau perangkat yang akan mengakses sumber daya jaringan.</p>
</li>
<li><p><strong>Jenis akses:</strong> Apakah akses dilakukan melalui user account atau perangkat tertentu?</p>
</li>
<li><p><strong>Kebutuhan fitur:</strong> Pilih edisi Windows Server yang sesuai dengan kebutuhan fitur kita.</p>
</li>
</ul>
<h3 id="heading-instalasi-windows-server-2022"><strong>Instalasi Windows Server 2022</strong></h3>
<p>kali ini kita juga akan mencoba menginstall windows server 2022, untuk langkah-langkahnya bisa ikuti dibawah ini.</p>
<ol>
<li><strong>Persiapan:</strong></li>
</ol>
<ol>
<li><p><strong>Media Instalasi:</strong> Siapkan DVD atau USB flash drive yang berisi file instalasi Windows Server 2022.</p>
</li>
<li><p><strong>Boot Server:</strong> Nyalakan server dan ubah urutan boot untuk boot dari media instalasi.</p>
</li>
</ol>
<h3 id="heading-installasi"><strong>Installasi</strong></h3>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXca_PvHblDwGAnoRnh1U5a55gxC-T4NgxTUxRsElR6zaqprpwX4B1OQZXL9IlZWaFHfG82OqNgL4l0qtg4lRHAOmyT2M8UbmL4KEbn8viMK8_lyA3PHx_IKcmMXeXp_yXN2v4CTNL7-6IYOW0M-CaYINEA?key=8eI9z-Yiq_7Orffw2lcG3A" alt class="image--center mx-auto" /></p>
<p>pertama kita pilih <strong>bahasa</strong> dulu, untuk bahasa kita pilih <strong>english</strong> saja, dan untuk <strong>time currency</strong>, keyboard itu bisa menyesuaikan dari kita,</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXduhnnSVLTSS8f_Gy-B25IXveHFXYV8e4Jk3eBzByRTHVzEBBqZ4QbOSvIItVofx-qPMFibQ-hr8YFzpZ8ybzcwtgc7mCgy87CFX6_cGbQrFOKOMyonzcxsLcJTTJlWiJl_mm8atBOr2x997ydRz6n8QNo?key=8eI9z-Yiq_7Orffw2lcG3A" alt class="image--center mx-auto" /></p>
<p>jika sudah kita next dan klik <strong>install now</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfrc2FC-RuKx4oEm7p8YBKxR8zk_3yyNqz2n3lcJIIIMkhbgRY9KPLox6ysvgJkk0-WWW6UYcs2aO6uiTRz9W7Utpwr97I-YFHiRi6Z8Qmn57dJGllomrex98HIy_XUr3VOcJ7j2bM_H9W928mV-QAyvM1t?key=8eI9z-Yiq_7Orffw2lcG3A" alt class="image--center mx-auto" /></p>
<p>kita pilih untuk desktop experience karena lebih memudahkan kita dalam setting di windows server lalu klik next</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeF4mwXNbx6-99S1CgrAxDF2QIrbVhI5wL-rlVBRDgVs18nQYng0G1HmhKsl97FBZNK5o7gdYO3lZiu53RpSZ5hs9Z52EqRPmGz7zzaba6vVsEy28Lo402YBHZTyYAVc2noaAottpJQ7YXadgiAe7sNt1lH?key=8eI9z-Yiq_7Orffw2lcG3A" alt class="image--center mx-auto" /></p>
<p>klik centang lalu next</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdeJRAwaT-jTR8G8gi0OnMJyTttl4OOeWxdkqNPzcr5PUinyqVsPMgXzbLSnL16-U3YHRCYyKo3IrjGz-KkScKcx2gBJod44ipnnb832oAy3r7KO9XnRqFscD7KUN3czALHIpi1N63Z29IPlrVJCtoSZNJv?key=8eI9z-Yiq_7Orffw2lcG3A" alt class="image--center mx-auto" /></p>
<p>untuk type install kita pilih custom saja agar kita bisa menyesuaikan dengan kebutuhan kita</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfWF1vABoclyWtO0Q8jw2FyVQrnwEcUErcDcaAwwPQS6oy6nJeKj_lDg8i6cALnHo1GtGwPiSP8xHD_2IPELYtHWatHPa5nwcG-OOWrxo3rme5XaxgAGs375ohOG1bolMLOHU9FBYu0O7jv7OMmReLkOs4?key=8eI9z-Yiq_7Orffw2lcG3A" alt class="image--center mx-auto" /></p>
<p>pada disk partisi kita bisa mengikuti default ataupun setting, jika ingin default kita</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdDI84Z7acjcS14akLg1Z-2OUWsT-an4Gd4bVwofl_qq1mRpzBxEDNpgB6LkbuYe6ktZcSrfinv7jPy5vpvpWGHHUEDUqPWDKgsUPAjzDOGh9_hg6SWWlNKY2E_ROQckHyoFHsomu1JcUsiIHOpd_NqXP_r?key=8eI9z-Yiq_7Orffw2lcG3A" alt class="image--center mx-auto" /></p>
<p>selanjutnya kita tunggu saja untuk penginstalan jika sudah akan merestart otomatis</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdJSuha5p4NwZQXczwUQlEqkS4I5142MMeCofEiloU-U81qB-1iI9-6CXCqff9qHi977gAFWJ-78H4J9BCHiTNu-B_JSqYllEIMBtigMULcqETsgKoV9bZ7GyWysuHsLxBQoxW7iAGGPOyrsxfsbSjbvnU?key=8eI9z-Yiq_7Orffw2lcG3A" alt class="image--center mx-auto" /></p>
<p>untuk bagian product key, jika kita mempunyai kita masukkan pada kolom, namun jika tidak mempunyai product key bisa klik <strong>do this later</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfXdF8Yd8V-zyJDs3sGoG1yo7OB5JlkJD3AI6esaxZO38e77sk20spZjkfPjJjgAA-3BIM0tgYeMucD8RCizHSOC_ZDLD5r9JtqGV8mUCJWTckMMWVk5i3PxChYJQUIhVtMQcw5PsU8z9ohbSgTjwLRGise?key=8eI9z-Yiq_7Orffw2lcG3A" alt class="image--center mx-auto" /></p>
<p>pada bagian ini kita masukkan kata sandi untuk login kedalam server kita, pastikan gunakan sandi yang kuat agar tidak mudah terkena hack, jika sudah klik finish</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdTGj3cNVQIN6mOoYjDeSUhRwNCOCPgGIUrabh33myl7_Ezbr9K885N6oQbGMSqt9_OYvDIzOHN7cjb_YAHEmYuAPqBu0Zq--0HrSsjK8o5Kx_6P6EzYMhw79a0K6Y2zIKgO2Yk3E8EBN--QmlshiYliiw?key=8eI9z-Yiq_7Orffw2lcG3A" alt class="image--center mx-auto" /></p>
<p>nah, untuk tampilan awal dari windows server seperti ini, selanjutnya kita bisa konfigurasi sesuai keinginan dan kebutuhan kita</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeMNyYVyRMDoA2mRDKoTLP-FiEuefi0t-JP6mlinTJR414Czr1UZO2s6qYUhbAhaatUquW8rxHsaMfZCQtqH5LTfd2RBItS9mpnZN_iCWMQA7iD_CdvNyqdUCRZwSf8eJp2rMyZGu9RqpMjVR2awuDDRyg?key=8eI9z-Yiq_7Orffw2lcG3A" alt class="image--center mx-auto" /></p>
<h3 id="heading-pengenalan-raid-015610"><strong>Pengenalan Raid 0,1,5,6,10</strong></h3>
<p><strong>RAID (Redundant Array of Independent Disks)</strong> adalah teknologi penyimpanan data yang menggabungkan beberapa hard drive menjadi satu unit logis untuk meningkatkan performa, redundansi, dan kapasitas penyimpanan.</p>
<p><strong>Jenis-jenis RAID:</strong></p>
<ul>
<li><p><strong>RAID 0</strong></p>
<p>  <img src="https://www.pitsdatarecovery.net/wp-content/uploads/2023/04/RAID-0-1024x642.png" alt="Understanding RAID 0: A High-Performance Storage System" /></p>
<p>  Meningkatkan performa dengan striping data di beberapa hard drive. Cocok untuk aplikasi yang membutuhkan kecepatan tinggi, seperti video editing dan gaming. Kekurangannya, RAID 0 tidak memiliki redundansi, sehingga jika satu hard drive rusak, semua data akan hilang.</p>
</li>
<li><p><strong>RAID 1</strong></p>
<p>  <img src="https://miro.medium.com/v2/resize:fit:1024/1*Mt-2wxs5qk3UXkmMJ7E-0g.png" alt="RAID 1 Explained. Losing data can be a nightmare… | by PITS Global Data  Recovery Services | Medium" /></p>
<p>  Menawarkan redundansi dengan mirroring data di dua hard drive. Ideal untuk data yang kritis dan membutuhkan perlindungan ekstra. Kelemahannya, RAID 1 hanya menyediakan setengah dari total kapasitas hard drive untuk penyimpanan data.</p>
</li>
<li><p><strong>RAID 5</strong></p>
<p>  <img src="https://miro.medium.com/v2/resize:fit:1400/0*RBzzbVleWvZUNwF9.jpg" alt="RAID 5 Explained. The need to protect valuable… | by PITS Global Data  Recovery Services | Medium" /></p>
<p>  Menggabungkan striping dan mirroring untuk performa dan redundansi yang seimbang. Memberikan keseimbangan antara performa dan keandalan, cocok untuk server dan penyimpanan data umum.</p>
</li>
<li><p><strong>RAID 6</strong></p>
<p>  <img src="https://www.pitsdatarecovery.co.uk/wp-content/uploads/2023/08/RAID-6-1024x642.png" alt="Comparing RAID 5 and RAID 6 - Which is Right for You?" /></p>
<p>  Mirip dengan RAID 5, tetapi menambahkan paritas ganda untuk perlindungan data yang lebih baik. Memberikan tingkat redundansi yang lebih tinggi dengan sedikit penurunan performa.</p>
</li>
<li><p><strong>RAID 10</strong></p>
<p>  <img src="https://miro.medium.com/v2/resize:fit:1400/1*8qTKvJQTAfrAYEz2S9n6AQ.png" alt="RAID 10 Explained. When you have a large amount of… | by PITS Global Data  Recovery Services | Medium" /></p>
<p>  Menggabungkan mirroring RAID 1 dengan striping RAID 0 untuk performa dan redundansi yang tinggi. Memberikan performa terbaik dan keandalan tinggi, ideal untuk aplikasi yang membutuhkan keduanya.</p>
</li>
</ul>
<h3 id="heading-konfigurasi-raid-0-1-amp-raid-5-menggunakan-raid-sw"><strong>Konfigurasi raid 0, 1 &amp; raid 5 menggunakan raid s/w</strong></h3>
<ol>
<li><strong>Raid 0</strong></li>
</ol>
<p>masuk ke server management lalu setting pada disk menjadi raid 0</p>
<p>pada server management klik <strong>tools&gt;computer management&gt; storage&gt;disk management</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdpBNBILEnMSYL1vkuSlzrsHjtxkVIc3FH3vnGdraSK0Qj7hdYDI3sg9kD5DPMGKBxygoa1mm_JYVWumPjforC-hxuiPw0_pddL6MV8YQFjZfZEU-dh5wAgk2hHW19ZtaakKXUjehFl-iuTxGH3BTDarcNq?key=8eI9z-Yiq_7Orffw2lcG3A" alt /></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeQzO31LGJIx9uXtG1OZQt0FNdGzl4w4f92JBB0WKFYnOSuOBgTZ7Nc4QBKJnt7vnTqkd3kyd5CelxTyio8rW23dv9z6zTNHRYn2KTq-_d3SPHW-ecifWpPwaWBwr8UBZnNOyAdTVPNKiQ3ty6PIgJrfFJh?key=8eI9z-Yiq_7Orffw2lcG3A" alt /></p>
<p>pilih new striped volume</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfkBxe2qgS4gO-YRNPakb1ecEyNjW8Ng6X_T-YKeRHhw6RWml6IuauIQNhlL7JVysNegAJDJr3W8WjyJcleGXYNGF96s4A0jLn0o6TzBjwlWc0jyn7Ic8wiAD77VAwmJv1rk3JxBfgxhtTUfl3azjydCBbF?key=8eI9z-Yiq_7Orffw2lcG3A" alt /></p>
<p>lalu klik pada <strong>disk2&gt;add&gt;next</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc_rMwDjf6vefE8WPH-kJmxjtDVS1M01_oNoAtMyRh5t1HoPvYYGKxdszaKdbHCDzvtPHphOGeESSYTmrM9VIh-TZWmg-ZH0TTQislAhNsH-71Awl8Hh3Z6dIfLq7rO2H7GbxIaXu3mvfFzUQo5NBrRbSk?key=8eI9z-Yiq_7Orffw2lcG3A" alt /></p>
<p>bagian assign following drive letter bebas untuk memilih, lalu klik next</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc0S8fCocj1vkJzeigWyPeYvbJVbRi8913HeHldgk5FpYWB2SFDskcOb0T277jrPbXMojvMQEtVOuchKNh5mkAtYvUi1D-R8pEzTNfzui30stww14IUBuWlE_N4WhhrvB-56a9PgzPFn1Svco2Fxuu2UZ8?key=8eI9z-Yiq_7Orffw2lcG3A" alt /></p>
<p>klik yes, lalu tunggu disk memformat</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdYnDvGdVeiQLvLMKq2YkMm7Y-ot2GrN0u6ccZJcj0OS8r3yel0e2bpzdfNh-ggJzhSAgfkx0SMysFP4iPqNFVF5GQE6fFJF1Xd0swGWRxS6-SjaAcmDiKMcBf8N-ZJHgVZU7qXQCeZNLrb31NOjRU-aFNq?key=8eI9z-Yiq_7Orffw2lcG3A" alt /></p>
<p>jika sudah maka tampilannya akan seperti gambar terakhir</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdzlscjmKsgXIZfcW6romQILHkWp7x6-SFoLYTW7Vq34J7RMrSGwW9yK6pavGtik0JELNbkKO1RQAlHfV7SGl2SferZ7UjSGnOsXybGy2ZOYohc9ZLOCsA9NFEHzKaaSk9o-MAi2DDta2cbCsIw9i37-PXf?key=8eI9z-Yiq_7Orffw2lcG3A" alt /></p>
<ol start="2">
<li><strong>Raid 1</strong></li>
</ol>
<p>pilih new mirrored volume</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfkBxe2qgS4gO-YRNPakb1ecEyNjW8Ng6X_T-YKeRHhw6RWml6IuauIQNhlL7JVysNegAJDJr3W8WjyJcleGXYNGF96s4A0jLn0o6TzBjwlWc0jyn7Ic8wiAD77VAwmJv1rk3JxBfgxhtTUfl3azjydCBbF?key=8eI9z-Yiq_7Orffw2lcG3A" alt /></p>
<p>lalu klik <strong>disk 2&gt;add&gt;next</strong></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfkMJYLhpHtz0jcbMY8LVddQcMf-XNypfuENRGfZfFZk-fekpDkgLoIbHJPc2OBBrgrdf3UmKu8qxQveYzXaltSMyb9MRRLJrD_2iQORmYCJoGr5wM-FlSNy9nWiPxIo_kYkiuiiQmqpeKDFPD8Wllezqk?key=8eI9z-Yiq_7Orffw2lcG3A" alt /></p>
<p>pada menu assign driver letter bebas untuk memilih setelah itu next</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeVHBgLutw71ByauIioyLHddGUaJBHjaNlzjJy4gCsKfuYSwI4LTVDXoyCbvoFpTAi6pE8nAVyQt8E80VN0q_Qs5XgP-ImgJ3O1xQjHvkglIlIJBstPsXxPgcPEcrrLdDSfzmDv16FFEvUvO60oJu3ZRxEl?key=8eI9z-Yiq_7Orffw2lcG3A" alt /></p>
<p>jika sudah selesai klik finish</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc4EE3Edja_6txZvXuUX1AJS2JpjMgF0-tVLOV2YZf8VDtXgWVdVJmPw--UPFb738hpG0VR6OTY6eX_tUY_YrwAJVRyhF0kBFwabYATJe-3gw6oWKXyiljBd700nAZ0PKIGcB-0vE9D8tsDSyFa3-FSakhO?key=8eI9z-Yiq_7Orffw2lcG3A" alt /></p>
<p>lalu klik yes, dan tunggu formatnya selesai maka tampilannya akan seperti gambar terakhir</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdh0AvG58ZlG8Os7XukYrgAu_Llt521lz-Y9bsKXsREBixza82SzyT5KWG4qdCMEAhjY8tE_5Ch4AQeXXdqQlEPn0v4FhkRF5zdLQmHdFO3gfZ1mFYQuUXQD9j8ayWMq9WGGoyslNZ2vkC5Pfvs0pqYve2H?key=8eI9z-Yiq_7Orffw2lcG3A" alt /></p>
<ol start="3">
<li><strong>raid 5</strong></li>
</ol>
<p>pilih new raid 5</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcItjqfcTaZPo5KkUsJ74FNzB4oYnuQRYI9_88f-iB0WD8y_lpHqVuyjaQZOIQ5HN0GabduiOtP_jf2ObMjG0QXdrjNZPRiWaN1XGwmSPrDdqVLv1QHvjJ5UPdJ1Y7t_dRvMKeeUW4RrTBah1Wp-rWGP3mR?key=8eI9z-Yiq_7Orffw2lcG3A" alt /></p>
<p>pilih disk yang <strong>availabe&gt;add&gt;next</strong>  </p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeF-HUOdEBSP3PVNcvxlYOefQz95838diP0hmP1KopCIKYoZc9pMcKr4CCgpk7eioeraVctwPnW4dxSnVXnQ_Qcb4CUwPfWjhkz7I_a_Yi2hLtnTBMwU_fldgDQMBDPH-YfwpcbRONKisK1JQ4NvfOi6x96?key=8eI9z-Yiq_7Orffw2lcG3A" alt /></p>
<p>bagian assign drive letter pilih secara bebas lalu next</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcItjqfcTaZPo5KkUsJ74FNzB4oYnuQRYI9_88f-iB0WD8y_lpHqVuyjaQZOIQ5HN0GabduiOtP_jf2ObMjG0QXdrjNZPRiWaN1XGwmSPrDdqVLv1QHvjJ5UPdJ1Y7t_dRvMKeeUW4RrTBah1Wp-rWGP3mR?key=8eI9z-Yiq_7Orffw2lcG3A" alt /></p>
<p>berikan nama ke volume dan klik <strong>next&gt;finish</strong>  </p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdbuAYp_IOvJJhi5zPAC4QqjNxzdM253q1ursLC52BSSM0ynsB-nqnyATB7JfgYjJzEpipGd2dEaexT9YhIWn7gPE2gSqm8yVJ1HTy03UdNF-W4rtaW6c6u7cdXP6klKPZiD8oksiKnIPOK2bO2KiaXAwo?key=8eI9z-Yiq_7Orffw2lcG3A" alt /></p>
<p>klik yes,dan tunggu disk memformat</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc4EE3Edja_6txZvXuUX1AJS2JpjMgF0-tVLOV2YZf8VDtXgWVdVJmPw--UPFb738hpG0VR6OTY6eX_tUY_YrwAJVRyhF0kBFwabYATJe-3gw6oWKXyiljBd700nAZ0PKIGcB-0vE9D8tsDSyFa3-FSakhO?key=8eI9z-Yiq_7Orffw2lcG3A" alt /></p>
<p>jika sudah selesai maka tampilannya akan seperti gambar dibawah</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfmeNo0w9qPi1Q9HxmDWlbienzGMYQQdKE8gbNGvlk3MundSOuRs9-R4imVJ5eIjtpsHvWWP3koe78dhEOnjFNwQ4FyJZhrkbuVxzDE131bPUzctfT0YfBTMp5167_eRMt1wmgRYHPkcNcOkdKDsHk_wykP?key=8eI9z-Yiq_7Orffw2lcG3A" alt /></p>
<h3 id="heading-kesimpulan"><strong>Kesimpulan</strong></h3>
<p>Windows Server merupakan alat yang ampuh untuk mengelola infrastruktur IT bisnis. Dengan memahami dasar-dasarnya seperti lisensi, instalasi, RAID, dan konfigurasi jaringan, kita dapat memulai perjalanan kita untuk menjadi administrator Windows Server yang handal. Dengan blog ini kita bisa mulai belajar mengenai windows server.</p>
]]></content:encoded></item><item><title><![CDATA[Langkah Mudah Deploy WordPress di Docker dengan Load Balancing untuk Skalabilitas]]></title><description><![CDATA[Kontainerisasi dan Docker
Kontainerisasi telah menjadi salah satu teknologi yang paling berpengaruh dalam pengembangan dan deployment aplikasi modern. Ini adalah pendekatan yang memungkinkan pengembang untuk menjalankan aplikasi di lingkungan yang te...]]></description><link>https://blog.bayhaqqy.my.id/langkah-mudah-deploy-wordpress-di-docker-dengan-load-balancing-untuk-skalabilitas</link><guid isPermaLink="true">https://blog.bayhaqqy.my.id/langkah-mudah-deploy-wordpress-di-docker-dengan-load-balancing-untuk-skalabilitas</guid><dc:creator><![CDATA[Rafli Abdul Bay Haqqy]]></dc:creator><pubDate>Sun, 22 Sep 2024 12:57:03 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1727009698180/7cec2009-05e6-41d7-a545-2fbd9c81585f.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3 id="heading-kontainerisasi-dan-docker"><strong>Kontainerisasi dan Docker</strong></h3>
<p>Kontainerisasi telah menjadi salah satu teknologi yang paling berpengaruh dalam pengembangan dan deployment aplikasi modern. Ini adalah pendekatan yang memungkinkan pengembang untuk menjalankan aplikasi di lingkungan yang terisolasi, yang disebut sebagai kontainer. Kontainer berisi semua yang diperlukan untuk menjalankan aplikasi—mulai dari kode, runtime, pustaka, hingga pengaturan sistem. Dalam blog ini, kita akan mempelajari dasar-dasar kontainer, perbedaan antara metode deployment tradisional, virtual, dan berbasis kontainer, serta fokus pada salah satu teknologi kontainerisasi yang paling populer: Docker. Kita juga akan melihat arsitektur, cara kerja, dan beberapa perintah dasar Docker, diakhiri dengan studi kasus deployment yang dapat membantu Anda memahami aplikasi Docker secara praktis.</p>
<h3 id="heading-apa-itu-kontainer"><strong>Apa Itu Kontainer?</strong></h3>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdjpvmUDVbikqd0Ifti27eyRiR5c_M0f7tofi9SPkXklb0TxB5ybD5xB61L_zs849DnaqBqgN63RxVbM3sjT40QVHdq3YLPMaLXoAWLmYqEQdFYMn8M-bn8kH5jg00bxjkBaBmLJMuvz6NMXqbK2wD4ts71?key=vmJwiwEHZBxbDWI5sBOEjQ" alt /></p>
<p>Kontainer adalah paket perangkat lunak yang mencakup semua dependensi yang diperlukan untuk menjalankan aplikasi di berbagai lingkungan. Ini memungkinkan aplikasi untuk dijalankan secara konsisten di berbagai sistem tanpa masalah kompatibilitas. Kontainer menggunakan kernel sistem operasi host dan menyediakan lingkungan terisolasi yang menjalankan aplikasi seolah-olah berada di dalam sistem operasinya sendiri.</p>
<p>Berbeda dengan mesin virtual (VM), yang memerlukan seluruh sistem operasi untuk dijalankan di atas hypervisor, kontainer jauh lebih ringan karena berbagi kernel dengan sistem host dan hanya membutuhkan elemen yang diperlukan untuk aplikasi tertentu. Ini membuat kontainer lebih efisien dalam hal penggunaan sumber daya dan waktu startup.</p>
<h3 id="heading-metode-deployment-tradisional-virtual-dan-kontainer"><strong>Metode Deployment: Tradisional, Virtual, dan Kontainer</strong></h3>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc2_d3B7t5m2Pm0oYIeZULfn3PUERpXBCWKC-6oz7Jvcn4YXcxpZzqn3CDrR7nK2kKSOIcLhre9NQun-MOi3mivpBdqgIqJYNDIX0qZddZ-EFPZQxrPOzmFZVQX1xFOajgTuNNPVmT-OXMy5Z2_DF3ukUqy?key=vmJwiwEHZBxbDWI5sBOEjQ" alt /></p>
<p>Sebelum kita melangkah lebih jauh ke dalam dunia kontainer, penting untuk memahami metode-metode deployment aplikasi yang ada:</p>
<ol>
<li><p><strong>Deployment Tradisional:</strong></p>
<ul>
<li>Dalam metode tradisional, aplikasi dijalankan langsung pada server fisik. Semua komponen aplikasi, termasuk kode, pustaka, dan sistem operasi, diinstal langsung di server tersebut. Meskipun metode ini sederhana, ia tidak efisien karena sumber daya server yang tidak terpakai tetap menganggur, dan manajemen skala besar bisa menjadi tantangan.</li>
</ul>
</li>
<li><p><strong>Mesin Virtual (VM):</strong></p>
<ul>
<li>Mesin virtual memungkinkan beberapa aplikasi berjalan pada satu server fisik dengan memvirtualisasikan perangkat kerasnya. Setiap VM memiliki sistem operasinya sendiri dan dapat menjalankan aplikasi secara independen. Meskipun VMs meningkatkan efisiensi dibandingkan dengan metode tradisional, mereka tetap memerlukan sumber daya yang signifikan karena setiap VM menjalankan salinan penuh dari sistem operasi.</li>
</ul>
</li>
<li><p><strong>Kontainer:</strong></p>
<ul>
<li>Kontainer memberikan keseimbangan antara isolasi aplikasi dan efisiensi sumber daya. Dengan menggunakan kernel sistem operasi host, kontainer mengemas aplikasi dan dependensinya dalam satu paket yang dapat dijalankan di mana saja, menjadikannya solusi yang lebih ringan dan cepat dibandingkan dengan VM.</li>
</ul>
</li>
</ol>
<h3 id="heading-pengenalan-ke-container-runtime"><strong>Pengenalan ke Container Runtime</strong></h3>
<p>Container runtime adalah perangkat lunak yang bertanggung jawab untuk menjalankan dan mengelola kontainer pada host. Ini mencakup fungsi untuk membuat, mengeksekusi, dan menghentikan kontainer. Beberapa container runtime yang populer adalah Docker, containerd, dan CRI-O. Docker adalah yang paling terkenal di antara mereka dan telah menjadi standar de facto dalam kontainerisasi aplikasi.</p>
<h3 id="heading-docker"><strong>Docker</strong></h3>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdON2yemEUcRc2c6Sm5KqA1Z8y2ZOz3Ja7lQ_Kae_W5qnT3-UevZ5IiHXYUOKLZhP70kDK5Z6otZIrsz4BXqAq2Mgcxdbz2OJpudOvKdw6jdzbxwtsyKY0hdCJXqi3QzMMcsRHz2BOYrLQfUz5rpZujics-?key=vmJwiwEHZBxbDWI5sBOEjQ" alt class="image--center mx-auto" /></p>
<p>Docker adalah platform yang menyederhanakan pembuatan, pengiriman, dan menjalankan aplikasi dalam kontainer. Docker memungkinkan pengembang untuk mengemas aplikasi bersama dengan semua dependensinya ke dalam kontainer, sehingga aplikasi dapat dijalankan secara konsisten di berbagai lingkungan, dari komputer pengembang hingga server produksi.</p>
<p>Docker terdiri dari beberapa komponen inti yang bekerja bersama untuk memberikan fungsionalitas kontainerisasi:</p>
<ul>
<li><p><strong>Docker Client:</strong> Antarmuka yang digunakan pengguna untuk berinteraksi dengan Docker. Perintah Docker yang dijalankan oleh pengguna dikirim ke Docker Daemon untuk dieksekusi.</p>
</li>
<li><p><strong>Docker Daemon:</strong> Komponen yang melakukan pekerjaan sebenarnya, seperti membangun, menjalankan, dan mendistribusikan kontainer.</p>
</li>
<li><p><strong>Docker Image:</strong> Template read-only yang digunakan untuk membuat kontainer. Setiap image dapat memiliki beberapa lapisan, yang memungkinkan untuk penggunaan kembali dan efisiensi penyimpanan.</p>
</li>
<li><p><strong>Docker Container:</strong> Instansi runtime dari Docker Image. Kontainer adalah unit yang menjalankan aplikasi.</p>
</li>
<li><p><strong>Docker Registry:</strong> Tempat penyimpanan image Docker, baik publik (seperti Docker Hub) maupun privat, yang memungkinkan berbagi dan distribusi image.</p>
</li>
</ul>
<h3 id="heading-arsitektur-docker"><strong>Arsitektur Docker</strong></h3>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdRQVcync3zxmufcxJnbc2-Gv7wWBAeaoynh185ykivoy3YD5PPutYVvK6KVZlxM_7MgzOWJNZw7AzaRWyAqHjfZAY7pNJiI8PhHuJhtLymbSEHScaLes55p2FMqPHTre9Z9AJmB1WmjZdA9F7_-T2p9uGJ?key=vmJwiwEHZBxbDWI5sBOEjQ" alt /></p>
<p>Arsitektur Docker didasarkan pada model klien-server. Klien Docker adalah antarmuka baris perintah (CLI) yang digunakan untuk mengirim perintah ke Docker Daemon. Docker Daemon menjalankan perintah ini, seperti membangun, menjalankan, dan mengelola kontainer Docker.</p>
<p>Docker menggunakan konsep image untuk membangun kontainer. Image adalah snapshot dari aplikasi yang berisi semua dependensi yang diperlukan. Setiap kali perubahan dibuat pada aplikasi atau lingkungannya, sebuah lapisan baru ditambahkan ke image, yang memungkinkan penggunaan kembali lapisan dan mengurangi redundansi.</p>
<p>Kontainer Docker dibuat dari image ini. Ketika Anda menjalankan perintah docker run, Docker Daemon membuat kontainer baru dari image dan menjalankannya sebagai proses terisolasi.</p>
<h3 id="heading-cara-kerja-docker"><strong>Cara Kerja Docker</strong></h3>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcR8C74DXah6EWLGwqjuME2iXMpZVxwn3-f1igxHFctmAezDxKNtjZjPqc1uwgyKFvkXUlvoNS0TqJJBoEGLYvmb2zB21zj7l6TI3P8hVHER9Peyo_T6qELIdJA2gZTOJpzFIIe2U1aMKC0_pEQqDOR8v0_?key=vmJwiwEHZBxbDWI5sBOEjQ" alt /></p>
<p>Docker bekerja dengan cara memvirtualisasikan sistem operasi, bukan perangkat keras. Ketika Anda menjalankan kontainer, Docker membuat lingkungan terisolasi untuk aplikasi, menggunakan kernel sistem operasi host dan menjalankan aplikasi seolah-olah di dalam sistem operasinya sendiri.</p>
<p>Docker mendownload image dari registry seperti Docker Hub, menyimpannya secara lokal, dan kemudian membuat kontainer dari image tersebut. Ketika kontainer dijalankan, Docker menambahkan lapisan baru yang writable di atas image read-only, memungkinkan aplikasi berjalan dan menyimpan perubahan tanpa memodifikasi image aslinya.</p>
<h3 id="heading-perintah-dasar-docker"><strong>Perintah Dasar Docker</strong></h3>
<p>Berikut adalah beberapa perintah dasar Docker yang perlu diketahui:</p>
<ol>
<li><p><strong>docker pull:</strong></p>
<ul>
<li>docker pull adalah perintah yang digunakan untuk mengunduh (atau menarik) image Docker dari Docker Hub atau registry lain ke mesin lokal Anda. Image ini adalah template dari mana kontainer akan dibuat.</li>
</ul>
</li>
</ol>
<ul>
<li><p>Bagaimana Cara Kerjanya? Ketika Anda menjalankan docker pull, Docker akan menghubungi Docker Hub atau registry yang ditentukan, mencari image yang diminta, dan mengunduh image tersebut ke dalam sistem Anda.</p>
</li>
<li><p>Contoh Penggunaan: Jika Anda ingin mengunduh image untuk NGINX (web server), Anda akan menjalankan:</p>
</li>
<li><p>docker pull nginx</p>
</li>
</ul>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXccYDN8Ns2anB46l3Sg63IH4ui8k2jJEcFs5VHccOEgnerR9FjRT5u0xTfNi9Fc0ZKeNeNQLAHzcnucDVr_zoN4qpd1IxHjV9zFRHedxQ919z5vnU06vdSAePWiNZpTFIs77lABuy2FeAetuqnqagv5wOE?key=vmJwiwEHZBxbDWI5sBOEjQ" alt class="image--center mx-auto" /></p>
<ul>
<li><p>nginx adalah nama image.</p>
</li>
<li><p>latest adalah tag yang menunjukkan versi terbaru dari image tersebut. Jika tag tidak ditentukan, Docker akan menggunakan tag latest secara default.</p>
</li>
</ul>
<ol start="2">
<li><p><strong>docker run:</strong></p>
<ul>
<li>docker run adalah perintah untuk membuat dan menjalankan kontainer baru dari image yang sudah ada. Ini juga memungkinkan Anda untuk mengatur beberapa opsi tambahan seperti port, volume, dan variabel lingkungan.</li>
</ul>
</li>
</ol>
<ul>
<li><p>Bagaimana Cara Kerjanya? Perintah ini akan:</p>
</li>
<li><p>Membuat kontainer baru dari image yang ditentukan.</p>
</li>
<li><p>Menjalankan kontainer tersebut dengan pengaturan yang Anda tentukan.</p>
</li>
</ul>
<ul>
<li><p>Contoh Penggunaan: Untuk menjalankan kontainer NGINX dengan memetakan port 80 di kontainer ke port 8080 di mesin lokal, Anda akan menggunakan:</p>
</li>
<li><p>Contoh: docker run -d -p 8080:80 nginx</p>
</li>
</ul>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcAL7smgSP-vAZg65fqgGSEIg1CuLdtU8IYGYoqGhTo9ny7xfQPYUIv5LNgeW1HmPIi6POn7TZOtXZUImN--PxlgL61XgR0E7wrMWo9wYwCzYO0wuCZmrDoWA7FexUC3yKBu7VAb6HKAHZwyO8_zLWW_zNB?key=vmJwiwEHZBxbDWI5sBOEjQ" alt /></p>
<p>“-p 8080:80” memetakan port 80 di dalam kontainer ke port 8080 di mesin lokal.</p>
<ol start="3">
<li><p><strong>docker images:</strong></p>
<ul>
<li><p>docker images adalah perintah yang menampilkan daftar semua image Docker yang tersedia di mesin lokal Anda.</p>
</li>
<li><p><strong>Bagaimana Cara Kerjanya?</strong> Perintah ini menunjukkan informasi seperti nama image, tag, ID image, ukuran, dan waktu pembuatan image.</p>
</li>
</ul>
</li>
</ol>
<ul>
<li>Contoh: docker images</li>
</ul>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe-TiRlcnvVSSDDfGvVs4fV0wVhqmUh9_YsO4xlekAuACWiQ9eSIDP-sxDsjoBkSLlL9kWFm4jHvkuoVLZPRL5-jFJHH3wYQYgnrMiZ0RoN9kk-ewQD8rwCmju0TLHYzC7FTBo89uZ5eesQkYUzmGvsXUPr?key=vmJwiwEHZBxbDWI5sBOEjQ" alt class="image--center mx-auto" /></p>
<ol start="4">
<li><p><strong>docker network:</strong></p>
<ul>
<li><p>docker network adalah perintah yang digunakan untuk mengelola jaringan Docker. Jaringan ini memungkinkan kontainer untuk berkomunikasi satu sama lain dengan cara yang terisolasi.</p>
</li>
<li><p><strong>Bagaimana Cara Kerjanya</strong>? Docker menyediakan beberapa jenis jaringan, seperti bridge, host, dan overlay. Perintah ini memungkinkan Anda untuk membuat, melihat, dan menghapus jaringan.</p>
</li>
<li><p>Contoh: docker network create my_network</p>
</li>
</ul>
</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXczP158RccaXSi4pdTtoO5hhrgshmC6JIzHPgcaosx7VY9H7Ik-dfewKGfcG0EcFGBhPhxU6hbZD4M7DpjkEh6bskc8MgwsfeJMrt0lCWq-WiW1A2sv6xJilTR6k1YWBR3K9FIuoHZhS1fTROIYV-nnSWmb?key=vmJwiwEHZBxbDWI5sBOEjQ" alt class="image--center mx-auto" /></p>
<p>Ini akan membuat jaringan baru</p>
<ol start="5">
<li><p><strong>docker expose:</strong></p>
<ul>
<li><p>Memetakan port dalam kontainer ke port di host, membuat kontainer dapat diakses dari luar.</p>
</li>
<li><p>Contoh: docker run -d -p 8080:80 nginx</p>
</li>
</ul>
</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc_ljDXJS_YKGQg3zYsHxEbbijOg4rNVDREqBb_W2PcCORybuuNwknCNTlOOAzigWj5cMZUumYadBHqGh6CX5wXfQKg5YnsRYxv2xcBCeJo0eoXD-YP9j17ONsIJafGNaZoqWuHLcQ5QkZmGNllSLNAmDlr?key=vmJwiwEHZBxbDWI5sBOEjQ" alt class="image--center mx-auto" /></p>
<ol start="6">
<li><p><strong>docker exec:</strong></p>
<ul>
<li><p>docker exec digunakan untuk menjalankan perintah di dalam kontainer yang sedang berjalan.</p>
</li>
<li><p><strong>Bagaimana Cara Kerjanya</strong>? Perintah ini memungkinkan Anda untuk memasuki kontainer yang sedang berjalan dan menjalankan perintah tambahan, seperti membuka shell atau menjalankan skrip.</p>
</li>
<li><p>Contoh: docker exec -it container_id bash</p>
</li>
</ul>
</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeypvb85P1Qqy6KZlxomav3j8Lg_l7RSi7dqcu3hHHH_t6m1arUK6ANVRbwE0Qe-qXqm5q4SyI2lwoA6A9dFsoZ5ydjeVkJcbLRivHBgNp3aqCcAPgfoTm5jWz4HOHCkqClh7iVC2IgX1FsUn2ajnsDKI6v?key=vmJwiwEHZBxbDWI5sBOEjQ" alt class="image--center mx-auto" /></p>
<ol start="7">
<li><p><strong>docker attach:</strong></p>
<ul>
<li><p>docker attach menghubungkan terminal ke sesi yang sedang berjalan di dalam kontainer.</p>
</li>
<li><p><strong>Bagaimana Cara Kerjanya</strong>? Perintah ini memungkinkan Anda untuk mengakses output dari proses yang sedang berjalan di dalam kontainer.</p>
</li>
<li><p><strong>Contoh Penggunaan</strong>: Jika Anda memiliki kontainer yang menjalankan aplikasi yang menampilkan output ke terminal, Anda bisa menghubungkan ke terminal tersebut dengan:</p>
</li>
<li><p>Contoh: docker attach container_id</p>
</li>
</ul>
</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd4aFhW6JQopTKemZ-o6I8nJ7O8_6hQeuJpRlglz9mr4sSr3joizVAjfVDMGZHGxBowapw8OGe0KMSIJ8Ydj9k2u5DjU4RhyBPXVECl-K3y88YU51Y3nqFVLeLXZkQaHNbO6N05sjUU3L5LTJkydsl_vdlo?key=vmJwiwEHZBxbDWI5sBOEjQ" alt /></p>
<ol start="8">
<li><p><strong>docker volume:</strong></p>
<ul>
<li><p>docker volume digunakan untuk mengelola volume Docker, yang merupakan penyimpanan persisten yang digunakan untuk menyimpan data di luar siklus hidup kontainer.</p>
</li>
<li><p><strong>Bagaimana Cara Kerjanya</strong>? Volume Docker menyimpan data yang dapat diakses oleh kontainer dan tetap ada meskipun kontainer dihentikan atau dihapus.</p>
</li>
<li><p>Contoh: docker volume create my_volume</p>
</li>
</ul>
</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcf1G2yxaLvXVXRLcRohV6EybEPsLpq_COadycta2uY27rIaXlqbcAtIizKWFkyqtCszv985GVP5G0x9URT06bY5baDwMsvdjRqBaL4rhHV2F3w8s0aA-rneEemzymwl6BdkWksiPGKHerPVyESJlACzqba?key=vmJwiwEHZBxbDWI5sBOEjQ" alt class="image--center mx-auto" /></p>
<ol start="9">
<li><p><strong>docker logs:</strong></p>
<ul>
<li><p>docker logs menampilkan log dari kontainer yang sedang berjalan.</p>
</li>
<li><p><strong>Bagaimana Cara Kerjanya</strong>? Perintah ini memungkinkan Anda untuk melihat output yang dihasilkan oleh aplikasi di dalam kontainer, termasuk pesan log atau error.</p>
</li>
<li><p>Contoh: docker logs container_id</p>
</li>
</ul>
</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXck_UiFxoa9dAZzuXeEY3IN_WbaqYEB_D4v06FvQfVuDH5fc94U4Y2fEJGka4wFezFbH-xXI2S5jhgsmTDBculv6WgpJGkWpOVdAXn4VaBQWTQvWxsxdCLtH3iYAbrm3RHv-dl2uNNcD_BkUPSLgtBKHDk?key=vmJwiwEHZBxbDWI5sBOEjQ" alt /></p>
<ol start="10">
<li><p><strong>docker inspect:</strong></p>
<ul>
<li><p>docker inspect memberikan detail lengkap tentang konfigurasi dan status dari kontainer atau image.</p>
</li>
<li><p><strong>Bagaimana Cara Kerjanya?</strong> Perintah ini mengeluarkan informasi JSON yang mendetail tentang kontainer atau image, termasuk pengaturan, status, dan konfigurasi.</p>
</li>
<li><p>Contoh: docker inspect container_id</p>
</li>
</ul>
</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfZ1p80LPGX00vY5ExkIbXTovgbFlHKJlrHWxqhQtMUdNjrP_IS5xT7hhtH96KdrSSe3G7fFvlr_w9WZ5LUHKVLBjOfStZCHNMcfp2y8V13IRorLvoDHA2xWZ6kPVkaWkvbcFjvO89wdCOi873c_4GvPR8?key=vmJwiwEHZBxbDWI5sBOEjQ" alt /></p>
<ol start="11">
<li><p><strong>Dockerfile:</strong></p>
<ul>
<li><p>Dockerfile adalah file teks yang berisi serangkaian instruksi untuk membangun image Docker.</p>
</li>
<li><p><strong>Bagaimana Cara Kerjanya</strong>? Dockerfile mendefinisikan langkah-langkah untuk membuat image, seperti memilih image dasar, menyalin file, dan mengatur variabel lingkungan.</p>
</li>
<li><p>Contoh: FROM node:18.20.4-slim</p>
</li>
</ul>
</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcQotm8F1QfZAgVDdvoGhnzd1kvq1s7XJWL7zt9WfMa-QZoaCiJ2C9XOg1tsmDAJQRmk1uvpc8WEHaKzaqg9sEjA5OEbovgVwg4oB21MfFA3-KmsenTjZS8JVypGFqBw4NnvR4m4nH9cjk8ryBk50eS5Z-I?key=vmJwiwEHZBxbDWI5sBOEjQ" alt class="image--center mx-auto" /></p>
<ol start="12">
<li><p><strong>Push Docker Image to Docker Hub:</strong></p>
<ul>
<li><p>Perintah ini digunakan untuk mengirim image Docker yang telah dibangun ke Docker Hub, registry publik untuk Docker images.</p>
</li>
<li><p><strong>Bagaimana Cara Kerjanya?</strong> Setelah image dibangun, Anda dapat mengirimnya ke Docker Hub untuk dibagikan dengan orang lain atau untuk digunakan di mesin lain.</p>
</li>
<li><p>Contoh: docker push username/image_name</p>
</li>
</ul>
</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcT3Mskcdwyydv9QjkpfpLXC3poaUGaPZ032HHs9Y4GU6JkwMONJ8kOFdC4M9jd5x_9ZUixPGpmmOWi03-gHNWxLA9Y4dGboN-m1_o6oEm9YDD3zUG_AmlG79dxUG33pA0xosXnoCMjR_VwQvTho5qKaz5O?key=vmJwiwEHZBxbDWI5sBOEjQ" alt /></p>
<ol start="13">
<li><p><strong>docker-compose:</strong></p>
<ul>
<li><p>Docker Compose adalah alat yang digunakan untuk mendefinisikan dan menjalankan aplikasi multi-kontainer dengan menggunakan file konfigurasi YAML.</p>
</li>
<li><p><strong>Bagaimana Cara Kerjanya</strong>? File docker-compose.yml mendefinisikan layanan, jaringan, dan volume yang diperlukan untuk aplikasi. Dengan docker-compose, Anda dapat mengatur beberapa kontainer sebagai satu unit.</p>
</li>
<li><p>Contoh File docker-compose.yml:</p>
</li>
</ul>
</li>
</ol>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXf07H4zjqKdZvHcr2f3jyhBXrku8w8xYRKKIOD29FUA1QOz2LE9jHRAznHoIYY9l5BNke_TjPgXed3M5-ZKmvcqqjmlS_SRv_wwyB9vyeYBl58f5_L9ywhsIye0NYoAiRD2dRZwCvtspDCAaanW60zqNXdU?key=vmJwiwEHZBxbDWI5sBOEjQ" alt class="image--center mx-auto" /></p>
<h3 id="heading-deployment-aplikasi-dengan-docker"><strong>Deployment Aplikasi dengan Docker</strong></h3>
<p>Untuk memahami bagaimana Docker digunakan dalam praktik, mari kita lakukan sebuah deployment aplikasi sederhana yang melibatkan tiga kontainer WordPress-NGINX yang dikembangkan oleh Bitnami, sebuah database MariaDB yang terpisah, dan konfigurasi load balancer NGINX dengan SSL.</p>
<ol>
<li><strong>Install MariaDB</strong></li>
</ol>
<p>sebelum kita memulai konfigurasi, kita update terlebih dahulu server kita dengan command </p>
<p><code>apt update &amp;&amp; apt upgrade</code></p>
<p>jika sudah kita install mariadb</p>
<p><code>apt install mariadb-server</code></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfwVf4I8T9DpYm9Eoo7kTC4eWa7poqTExzEzc0B8WwKrD_iVTLF7ZoziLKzsP2dIBnpYhVs94Jx6fmXhC6zMAE0-mngE7aBuy6z53PCZ75zomfSFVNeH2oDUUyDYaTypACdzphWJuBqp8wlXdpYqcDA2sg?key=vmJwiwEHZBxbDWI5sBOEjQ" alt /></p>
<ol start="2">
<li><p><strong>Konfigurasi MariaDB:</strong></p>
<ul>
<li>Setup MariaDB di luar kontainer, pada server terpisah. Ini memastikan bahwa database dapat diakses dari kontainer Docker, tetapi tidak dari luar jaringan Docker.</li>
</ul>
</li>
</ol>
<ol>
<li>Membuat database dan user untuk wordpress</li>
</ol>
<p><code>sudo mysql -u root</code></p>
<p><code>CREATE DATABASE  wordpress_db;</code></p>
<p><code>CREATE USER 'wordpress'@'%' IDENTIFIED BY 'bayhaqqy123';</code></p>
<p><code>GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress'@'%';</code> </p>
<p><code>FLUSH PRIVILEGES;</code></p>
<ol start="2">
<li>Arahakan ip address database ke host</li>
</ol>
<p><code>vim /etc/mysql/mariadb.conf.d/50-server.cnf</code></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcHGsiIe0rfdRTwrtPUSbeTTdxMzN1UWhPDbhXlR39Rv0Bc-iqh4aHkILDSrRJ22IASEEtROXK81wU8g2bH7ko3K-M0AYC0RxTJ2MYWF1nvAYWMv3wh1-fp4z3YKgsUal1ZaX7zyynafOd4RvpMWej7vI0?key=vmJwiwEHZBxbDWI5sBOEjQ" alt class="image--center mx-auto" /></p>
<p>arahkan addressnya ke ip host, jika sudah kita restart service mariadbnya</p>
<p><code>systemctl restart mariadb-server</code></p>
<p><code>systemctl status mariadb-server</code></p>
<ol start="3">
<li><p><strong>Setup Kontainer WordPress-NGINX:</strong></p>
<ul>
<li>Gunakan Docker Compose untuk mendefinisikan tiga layanan WordPress yang masing-masing menggunakan NGINX sebagai web server. Docker Compose akan memungkinkan kita untuk menjalankan dan mengelola ketiga kontainer ini secara bersamaan.</li>
</ul>
</li>
</ol>
<ol>
<li>Konfigurasi Docker Compose </li>
</ol>
<p>sebelum kita membuat konfigurasi, kita buat folder wordpress terlebih dahulu, jika sudah kita buat <strong>docker-compose.yml</strong></p>
<p><code>mkdir wordpress</code></p>
<p><code>vim docker-compose.yml</code></p>
<p><a target="_blank" href="https://pastebin.com/TeYVBdjD">script docker compose</a></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe8BIcvYPOw5tZS5uAGViDUP1zLKVO9kUwVNV6eLqB0opZwxh1q2ywwBjZTpeKL-ZKaibZsMBV12Cg9NOJWDhcCl8Ffu3KnOfttNMEKoC9pDzfAGdai_55xrVxv6BYjJcOhLcZJmgBP9K09ZviOFFcGSQ8x?key=vmJwiwEHZBxbDWI5sBOEjQ" alt class="image--center mx-auto" /></p>
<p>kita buat 3 container wordpress dengan mengarahkan port ke <strong>8080</strong> dan <strong>8443</strong>, lalu kita masukkan <strong>kredensial</strong> yang kita buat sebelumnya di database ke konfigurasi kita, untuk hostnya kira arahkan ke <strong>ip</strong> yang sama di setting address mariadb sebelumnya. jika sudah kita save dengan klik <strong>:wq</strong></p>
<ol start="2">
<li>Pengujian Container</li>
</ol>
<p>setelah kita membuat konfigurasi di docker compose, selanjutnya kita coba jalankan docker composenya</p>
<p><code>docker compose up -d</code></p>
<p><code>docker compose ps -a</code></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcQypgCYkLy2qiqXf67yVSUQfoEr8X72ZImYtzkvLJ49l4EEL6V34J5Wu0-cUuaNTW5cYNjW8BgA9bn2obu0-V_nW60WcZF7LTgvDKzXTenD4obatd6i1JDe3KJefVZL4jpBW7JXrICh8jRtJaB_DQ-YOtU?key=vmJwiwEHZBxbDWI5sBOEjQ" alt /></p>
<p>jika sudah kita coba buka web browser kita lalu search <a target="_blank" href="http://ip_host:8081">http://ip_host:8081</a></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfAKlwRuCacsCR_rq5hztp2-GOqSoMt2x8KAi4tkbcqBEyjQNIAq-m7dS3atz8i1zO0l9q3uMNZcXLBptO2VXXykHjDpUSUEfI5r0S2VQiHZ3i32SxFa-BEK2Q1gMV0l9qtEA4jFBv5uMvvogQ52J71oXBG?key=vmJwiwEHZBxbDWI5sBOEjQ" alt /></p>
<p>nah, container kita sudah running dan bisa terhubung dengan database yang ada di luar container. selanjutnya kita buat loadbalancing</p>
<ol start="4">
<li><strong>Load Balancer dengan NGINX:</strong></li>
</ol>
<p><strong>Load balancing</strong> adalah proses mendistribusikan lalu lintas jaringan ke beberapa server secara merata untuk mencegah satu server menjadi terlalu penuh dan kewalahan. Dengan cara ini, beban kerja dibagi secara efisien, sehingga meningkatkan kinerja, keandalan, dan ketersediaan layanan. Jika satu server mengalami gangguan atau tidak berfungsi, load balancer akan mengarahkan lalu lintas ke server lain yang masih berjalan, sehingga layanan tetap tersedia tanpa gangguan. Selain itu, load balancing memungkinkan peningkatan kapasitas dengan menambahkan lebih banyak server ketika permintaan meningkat. Hal ini sangat penting dalam menjaga agar layanan tetap cepat, stabil, dan mampu menangani jumlah pengguna yang besar.</p>
<ul>
<li>Konfigurasikan NGINX sebagai load balancer untuk mendistribusikan permintaan ke ketiga kontainer WordPress. Ini akan meningkatkan ketersediaan dan kinerja aplikasi.</li>
</ul>
<p><code>vim /etc/nginx/sites-available/wordpress-loadbalancer</code></p>
<p><a target="_blank" href="https://pastebin.com/yQwyzPQC">script loafbalancev1</a></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfd13JOFY8eHAtd17YkUH-O4FML3Cj7sms5bETyDR46DrkUX5ei7AnFp-lEvTuBdGUWoconU5DVOzdVu3zVJl3q21-9DuyBwakpyMRxLlF4BbiWqNsRdpH9rnx9uoFY61SGM7NRbe8-wTuwqZ_L-kPA9mX5?key=vmJwiwEHZBxbDWI5sBOEjQ" alt class="image--center mx-auto" /></p>
<p>untuk konfigurasi load balancenya seperti diatas, untuk ip severnya kita masukkan ip host kita lalu masukkan juga port expose dockernya, jika sudah klik <strong>:wq</strong> lalu kita restart nginxnya</p>
<p><code>systemctl restart nginx</code></p>
<p><code>systemctl status nginx</code></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdnr2wjTPWKOKY2vtoNlUsqRZuKoXKnq7ZyitMt0XvKlv43r4qmU0KuOBl87x5T_fTS4H75LIRG13Z_Md5yqp4CdxVbm9o43y2qKVg01YGn0G9kxMN2fUv8aPi-M3ni_xXCPDVz2RyyDtf2ovweuumEv-s?key=vmJwiwEHZBxbDWI5sBOEjQ" alt /></p>
<p>jika sudah mari kita buka web browser lalu klik http://ip_host</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdU1e30X5hpVk4yW4EQpanx1R8nslmC0S5Z9uNLDbO_2e-Xv7okHlAMmVbshF6fQfi1FyKiEqEEgyAfEN7Oax9ZOMfLK45zW-lsdReAZWLk_nED7gBvU7knV-4sn82QciU0n15R6NoX9VWW53UOBrfew2vS?key=vmJwiwEHZBxbDWI5sBOEjQ" alt /></p>
<p>nah, semua port dari <strong>8081-8083</strong> sudah terdefinisikan menjadi port <strong>HTTP</strong></p>
<ol start="5">
<li><p><strong>SSL dengan OpenSSL:</strong></p>
<ul>
<li>Pasang sertifikat SSL menggunakan OpenSSL untuk mengamankan komunikasi antara klien dan server. SSL akan memastikan bahwa semua data yang dikirimkan antara pengguna dan server terenkripsi.</li>
</ul>
</li>
</ol>
<ol>
<li>Buat SSL</li>
</ol>
<p><code>openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt</code></p>
<p><code>openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048</code></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfv91xjKix8iMvx4kKRx6qVupbpZ_vygd8A4Ma3qogvLrvxNy6Wj_KeSJKCK-T5yhg_mCC5soao1J-XHQ0Yi07sjk7UggOnvNKEhymJXtDx0dTjiid6hs2dLa9VIIsP1xwoK1YEyvLPJ2Xe5zEjgx7_hHE7?key=vmJwiwEHZBxbDWI5sBOEjQ" alt /></p>
<ol start="2">
<li>Buat loadbalance HTTPS</li>
</ol>
<p><code>vim /etc/nginx/sites-available/wordpress-loadbalancer</code></p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcNKascYs7WC8B532n0F1NrwJ_05iCI3wljXddp2Pt3Emc1CyeJ08lMgViutcuNl6-dCES9QmPhRSk3PVqBZHTZ4O1B_neyzJYDt6AA8Lb45F-gQaPdElyJNVTAi7WpOC5q7hvZnkXpeqm9tgCUoG-5Mpfc?key=vmJwiwEHZBxbDWI5sBOEjQ" alt class="image--center mx-auto" /></p>
<p>tambahkan konfigurasinya untuk <strong>HTTPS</strong>, gunakan port yang ada di konfigurasi https pada docker compose, jika sudah kita restart</p>
<p><code>systemctl restart nginx</code></p>
<p><code>systemctl status nginx</code></p>
<ol start="3">
<li>Pengujian LoadBalance HTTPS</li>
</ol>
<p>buka web browsernya dan klik https://172.23.1.7</p>
<p><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc46fjTQbpfy_-Z2XJ3LuvAzKx1byN9Y8p-LyokDMZpMkPoiTPGi-UIMqZfLyFcmhkbamd0VkxJ2EAsmZI-v8nopwnaVySNSJYALTp6ePtO12BBMeFK8EDAKMKC2lPuWiVecEGfv3bpKMca2x_675gN_SQw?key=vmJwiwEHZBxbDWI5sBOEjQ" alt /></p>
<p>nah, load balance untuk httpsnya sudah berhasil</p>
<h3 id="heading-kesimpulan"><strong>Kesimpulan</strong></h3>
<p>Dengan mempelajari dan menerapkan Docker, Anda dapat dengan mudah membangun, mengelola, dan menjalankan aplikasi di lingkungan yang konsisten dan efisien. Docker memberikan fleksibilitas dalam deployment, memungkinkan Anda untuk mengelola aplikasi skala besar dengan efisiensi tinggi. Melalui studi kasus di atas, Anda bisa melihat bagaimana Docker dapat digunakan untuk deployment aplikasi yang nyata, mulai dari pengaturan kontainer hingga konfigurasi load balancer dan keamanan dengan SSL. Dengan pemahaman ini, Anda siap untuk menerapkan Docker dalam proyek Anda sendiri, baik dalam pengembangan maupun produksi.</p>
]]></content:encoded></item><item><title><![CDATA[Install and Setup Prometheus + Grafana Di Docker Compose]]></title><description><![CDATA[Apa itu Promethus?
Apa itu prometheus? prometheus ialah sebuah tools yang open source yang biasa digunakan untuk monitoring server, kenapa si perlu adanya motoring server? nah kita ini perlu monitoring server agar kita bisa mengetahui bagaimana kondi...]]></description><link>https://blog.bayhaqqy.my.id/install-and-setup-prometheus-grafana-di-docker-compose</link><guid isPermaLink="true">https://blog.bayhaqqy.my.id/install-and-setup-prometheus-grafana-di-docker-compose</guid><category><![CDATA[Docker]]></category><category><![CDATA[#prometheus]]></category><category><![CDATA[Grafana]]></category><category><![CDATA[Installation]]></category><category><![CDATA[setup]]></category><dc:creator><![CDATA[Rafli Abdul Bay Haqqy]]></dc:creator><pubDate>Fri, 12 Jul 2024 09:44:16 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1720777328569/77cfd0d9-a872-4a73-8c30-4a9bf7f16c78.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3 id="heading-apa-itu-promethus">Apa itu Promethus?</h3>
<p>Apa itu prometheus? prometheus ialah sebuah tools yang open source yang biasa digunakan untuk monitoring server, kenapa si perlu adanya motoring server? nah kita ini perlu monitoring server agar kita bisa mengetahui bagaimana kondisi secara real time. Jika ada kondisi server tiba-tiba mati maka prometheus akan memberikan informasi bahwa ada server yang mati.</p>
<p>Nah cara kerjanya sendiri kita akan menginstall node exporter dimana node exporter inilah yang akan mengumpulkan data metrik dan informasi dari server yang nanti akan ditarik oleh prometheus.</p>
<h3 id="heading-apa-itu-grafana">Apa itu Grafana?</h3>
<p>Grafana ialah sebuah tools yang digunakan untuk memvisualisaikan data-data metrik atau data kompleks kedalam bentuk dashborad. Kenapa si kita perlu menggunakan grafana? jadi ketika kita menggunakan prometheus, prometheus ini akan menarik data-data dalam bentuk metrik atau query dimana data tersebut akan sukar dipahami oleh manusia tentu dong dari kita pasti ingin yang lebih mudah, maka dari itu muncul sebuah tools yang benernama grafana.</p>
<p>Jadi cara kerjanya itu grafana nanti akan disambungkan dengan prometheus milik kita dan nanti grafana akan menarik data metrik dari prometheus dan diubah ke bentul visual yang lebih mudah untuk dipahami oleh manusia.</p>
<h3 id="heading-kenapa-menggunakan-docker">Kenapa Menggunakan Docker?</h3>
<p>Oke, sekarang kenapa menggunakan docker? Kenapa tidak langsung saja tanpa harus menggunakan docker? Sebenernya bisa langsung menginstall Prometheus dan Grafana secara langsung di server tanpa harus menggunakan docker, namun untuk proses installasinya lebih rumit karena banyak yang harus di setup dan lebih mudah menggunakan docker, karena kita cukup menginstall image Prometheus dan Grafana dan setup sedikit saja itu akan lebih menghemat waktu dalam proses penginstallannya.</p>
<p>Mungkin itu untuk penjelasan sedikit tentang Prometheus dan Grafana serta kenapa harus menggunakan docker, selanjutnya kita akan memulai proses installasinya dibawah ini.</p>
<h3 id="heading-1-install-prometheus-dan-grafana">1. Install Prometheus dan Grafana</h3>
<p>Sebelum kita memulai pastikan docker sudah diinstall di server kalian ya, karena jika tidak ada maka tidak akan bisa, untuk step pertama kita bisa buat konfigurasi ymlnya terlebih dahulu:</p>
<pre><code class="lang-cpp">mkdir monitoring
cd monitoring
vim docker-compose.yml
</code></pre>
<p>lalu buat konfigurasi seperti dibawah ini, sesuaikan konfigurasi sesuai kebutuhan kalian</p>
<pre><code class="lang-cpp">services:
  prometheus:
    image: prom/prometheus
    container_name: prometheus
    volumes:
      - <span class="hljs-string">"./prometheus.yml:/etc/prometheus/prometheus.yml"</span>
    ports:
      - <span class="hljs-string">"9090:9090"</span>
  node_exporter:
    image: quay.io/prometheus/node-exporter:latest
    container_name: node-exporter
    ports:
      - <span class="hljs-string">"9100:9100"</span>
  grafana:
    image: grafana/grafana
    container_name: grafana
    ports:
      - <span class="hljs-string">"3000:3000"</span>
</code></pre>
<p>Nah setelah kita buat konfigurasi di dockernya, selanjutnya kita buat konfigurasi untuk prometehus.yml yang akan digunakan untuk menghubungkan ke server</p>
<pre><code class="lang-cpp">vim prometheus.yml
</code></pre>
<p>Masukkan konfigurasi dan ganti konfigurasi sesuai dengan kebutuhan kalian</p>
<pre><code class="lang-cpp">global:
  scrape_interval:     <span class="hljs-number">10</span>s
  evaluation_interval: <span class="hljs-number">15</span>s


scrape_configs:
  - job_name: <span class="hljs-string">'monitoring-server'</span>
    static_configs:
      - targets: [ <span class="hljs-string">'202.65.116.13:9100'</span> ]
      - targets: [ <span class="hljs-string">'202.65.116.12:9011'</span> ]
</code></pre>
<p>Jika sudah sebelum kita coba run, kita harus install node exporter ke target terlebih dahulu agar bisa terhubung, kalian bisa login ke server target dan install dengan command:</p>
<pre><code class="lang-cpp">docker login
docker run -d --name node-exporter -p <span class="hljs-number">9100</span>:<span class="hljs-number">9100</span> quay.io/prometheus/node-exporter:latest
docker ps -a
</code></pre>
<p>Nah kita cek terlebih dahulu dengan buka browser dan ketik http://ip:9100, jika munculnya seperti gambar dibawah, maka node-exporter sudah berjalan</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1719999263012/5d605325-a870-4bc0-9fe3-98b2ea081376.png" alt class="image--center mx-auto" /></p>
<p>Nah, jika node exporter sudah berjalan maka kita bisa run konfigurasi prometheus dan grafana yang sebelumnya, masuk ke server awal dan ketik command:</p>
<pre><code class="lang-cpp">cd monitoring
docker login
docker compose up -d
docker ps -a
</code></pre>
<p>Jika sudah kita cek di prometheusnya apakah sudah berjalan? cek di "status&gt;Targets", jika seperti dibawah ini maka telah berhasil</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1720001646354/0f11c4e6-60ea-4dd7-b281-6dc1d5cd3b4c.png" alt class="image--center mx-auto" /></p>
<h3 id="heading-2-setup-grafana">2. Setup Grafana</h3>
<p>Nah, jika prometheus sudah mari kita beralih ke grafana, kalian bisa login dengan username=admin dan password=admin, lalu kita mulai setting untuk data sourcenya.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1720002238896/c0fab977-b614-47ab-b674-95e245ef78a8.png" alt class="image--center mx-auto" /></p>
<p>lalu pilih prometheus, masukkan server url dengan http://ip:9090</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1720002394973/90e33e11-ae26-4772-bc70-cc1429fb589a.png" alt class="image--center mx-auto" /></p>
<p>Jika sudah membuat data source, selanjutnya buat dahsboardnya nah untuk dashboardnya kita bisa mencari templat di google, kalian bisa cari di <a target="_blank" href="https://grafana.com/grafana/dashboards/">https://grafana.com/grafana/dashboards/</a>. jika sudah pilih "import a dashboard lalu tempel idnya" lalu load.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1720003044326/6a24cdb8-b5b5-4b59-8365-096f9128e356.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1720002982638/70ff4af8-dea9-4fad-99aa-df297871a2c2.png" alt class="image--center mx-auto" /></p>
<p>Setelah itu arahkan prometheus ke data source yang sudah kita buat tadi lalu import</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1720003318770/8ed68272-0b0d-4b87-a9db-3eaf16ebbbaa.png" alt class="image--center mx-auto" /></p>
<p>Dan dashboard pun sudah jadi, kita bisa mengganti tampilan dashboardnya sesuai kebutuhan dan keinginan yang kita mau.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1720003599218/90d859e9-cbd5-4aa9-a331-cd5babb1464c.png" alt class="image--center mx-auto" /></p>
<h3 id="heading-3-kesimpulan">3. Kesimpulan</h3>
<p>Prometheus dan Grafana adalah tools yang powerfull untuk monitoring dan alerting. Blog ini memberikan panduan langkah demi langkah tentang cara install dan setup kedua tool tersebut. Dengan menggunakan Prometheus dan Grafana, kalian dapat memantau performa sistem kalian dengan lebih baik dan menyelesaikan masalah dengan lebih cepat.</p>
]]></content:encoded></item><item><title><![CDATA[Install + Set Up Docker On Ubuntu 20/22/24]]></title><description><![CDATA[Apa Itu Docker?
Nah, sebelum kita mulai menginstal Docker, sebenarnya Docker itu apa sih? Docker adalah sebuah platform open source yang memungkinkan kamu mengembangkan dan menjalankan aplikasi dalam kontainer. Kontainer ini berfungsi sebagai lingkun...]]></description><link>https://blog.bayhaqqy.my.id/install-set-up-docker-on-ubuntu-202224</link><guid isPermaLink="true">https://blog.bayhaqqy.my.id/install-set-up-docker-on-ubuntu-202224</guid><category><![CDATA[install docker]]></category><category><![CDATA[pemula]]></category><category><![CDATA[Docker]]></category><category><![CDATA[setup]]></category><category><![CDATA[newbie]]></category><dc:creator><![CDATA[Rafli Abdul Bay Haqqy]]></dc:creator><pubDate>Tue, 02 Jul 2024 03:14:42 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1719889962249/34fc33e9-35ba-4579-9269-7c20fa58e7d3.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-apa-itu-docker">Apa Itu Docker?</h2>
<p>Nah, sebelum kita mulai menginstal <strong>Docker</strong>, sebenarnya Docker itu apa sih? Docker adalah sebuah platform open source yang memungkinkan kamu mengembangkan dan menjalankan aplikasi dalam <strong>kontainer</strong>. <strong>Kontainer</strong> ini berfungsi sebagai lingkungan terisolasi yang mirip dengan <strong>virtual machine (VM)</strong>, tetapi tanpa menjalankan sistem operasi penuh.</p>
<p>Itu sekilas tentang apa itu Docker. Selanjutnya, kita akan membahas cara menginstal Docker di Ubuntu Server versi 20/22/24.</p>
<h2 id="heading-cara-menginstall-docker">Cara Menginstall Docker</h2>
<h3 id="heading-1-install-repository-docker">1. Install Repository Docker</h3>
<p>Sebelumnya kita bisa install repository docker agar bisa menginstall toolsnya, kita bisa gunakan script bash untuk memudahkan proses installasinya dengan command:</p>
<pre><code class="lang-cpp">vim docker.sh

&lt; sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m <span class="hljs-number">0755</span> -d /etc/apt/keyrings
sudo curl -fsSL https:<span class="hljs-comment">//download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc</span>
sudo chmod a+r /etc/apt/keyrings/docker.asc

echo \
  <span class="hljs-string">"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release &amp;&amp; echo "</span>$VERSION_CODENAME<span class="hljs-string">") stable"</span> | \
  sudo tee /etc/apt/sources.<span class="hljs-built_in">list</span>.d/docker.<span class="hljs-built_in">list</span> &gt; /dev/null
sudo apt-get update &gt;

Massukan script diatas tanpa tanda &lt;&gt;.

chmod +x docker.sh
bash docker.sh
</code></pre>
<h3 id="heading-2-install-package-docker">2. Install Package Docker</h3>
<p>Nah, Jika kita sudah menginstall repository docker kita bisa menginstall docker, jika belum menginstall repository dockernya maka tidak bisa menginstall package docker. Install package docker dengan command:</p>
<pre><code class="lang-cpp">sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
</code></pre>
<h3 id="heading-3-add-user-into-group-docker">3. Add User Into Group Docker</h3>
<p>Jika sudah menginstall package docker kalian bisa memasukkan user ke group docker, gunanya buat apa si? agar ketika kalian menggunakan user juga bisa mengakses docker tanpa harus sudo terlebih dahulu, dengan command:</p>
<pre><code class="lang-cpp">usermod -aG docker $USER
chmod <span class="hljs-number">666</span> /var/run/docker.sock
</code></pre>
<h3 id="heading-4-test-installation-docker">4. Test Installation Docker</h3>
<p>setelah kita selesai dan install dan setup doker alangkah baiknya kita juga mengetest dockernya untuk memastikan bahwa dockernya dalam keadaan running, dengan command:</p>
<pre><code class="lang-cpp">docker run -d --name coba nginx:latest
docker ps -a
</code></pre>
<h3 id="heading-5-conclusion">5. Conclusion</h3>
<p>Jadi seperti itu tutorial bagaimana cara menginstall dan mengsetup docker dengan baik dan benar. Jika kalian sudah bisa menginstall docker dan mengsetupnya, kalian bisa lanjut lebih dalam lagi mengenai docker dengan melihat blog docker lainnya di web blolg ini.</p>
]]></content:encoded></item></channel></rss>