iT邦幫忙

2024 iThome 鐵人賽

DAY 4
0
Kubernetes

成為 Kubernetes 特級咒術師的 30 天修行系列 第 4

第四篇: 展開領域前調整 VM 環境

  • 分享至 

  • xImage
  •  

前言

在架設 Kubernetes 集群之前,我們需要先配置虛擬機(VM)來充當 Control Plane 和 Node 節點。這些步驟將確保我們的環境能夠順利運行 Kubernetes 並進行後續的配置。本文將詳細介紹如何配置虛擬機,包括網路設置、SSH 設定,以及如何為 VM 分配固定 IP 地址。

架設 VM

在 Kubernetes 集群中,Control Plane 和 Node 節點的硬體資源需求須看你內部想要跑什麼服務去給,這裡我們只是要簡單Demo所以我這邊先給少一點的資源。

  • Control Plane 配置:

    • Control Plane 是 Kubernetes 的核心,負責集群的管理和調度。因此,它需要足夠的計算資源來處理請求和管理集群中的所有 Node 和 Pod。

      CPU:2 核心

      RAM:4 GB

  • Node 配置:

    • Node 是 Kubernetes 用來運行 Pod 的工作節點。1 核心的 CPU 對於運行基本的容器化應用程式是足夠的,特別是在測試環境中。

      CPU:1 核心

      RAM:4 GB

使用 NAT 網路配置 VM

NAT 網路的概念:

NAT(Network Address Translation) 是一種允許多個主機共用一個公共 IP 地址的技術。在虛擬機中,NAT 網路可用來將 VM 連接到外部網路(如互聯網),而不需要為每個 VM 分配一個獨立的公共 IP 地址。

VM 之間無法相互 PING:

當 VM 使用 NAT 網路時,它們會建立獨立的虛擬網卡,因此無法直接相互 PING。這是因為 NAT 網路通常用於隔離 VM 與外部網路的通信,而不是 VM 之間的內部通信。

image

設定 NAT 網路的網卡:

在虛擬機的網路設置中,選擇 NAT 作為網卡的網路模式。這樣可以確保 VM 能夠通過宿主機的網路訪問外部資源,而無需直接暴露在公共網路上。

image

SSH 設定(如有需要)

SSH 允許我們安全地遠程連接到 VM 進行管理和操作,並且因為我覺得比較方便所以我都會使用。以下是設定 SSH 的步驟:

設定 SSH 端口轉發:

首先,需要在虛擬機設置中分配一個對應的 IP 地址,並設置一個端口來允許外部通過 SSH 連接。這使得即使 VM 使用的是 NAT 網路模式,外部也可以通過宿主機的 IP 地址和指定的端口號來訪問 VM。

image

配置主機防火牆規則:

為了允許 SSH 連接,需要在宿主機上配置防火牆規則。具體做法是新增一個允許連接的規則,並設置為接受 SSH 連接的端口號。這樣可以確保 SSH 流量能夠通過防火牆到達 VM。

image

進到 VM 開啟 SSH。

$ apt-get install openssh-server

接下來就可以使用自己想用的工具去連 ssh。 我這邊使用了 Xsgell 7 這個工具連線,你可以選擇你習慣的工具。

image

設定固定 IP

在某些情況下,我們可能需要為 VM 設置固定 IP 地址,以便確保 VM 能夠穩定地使用同一 IP 進行通信。以下是設定固定 IP 地址的步驟:

  • 修改網絡配置檔案:

    在 Ubuntu 中,netplan 是用來配置網絡的工具。你需要打開位於 /etc/netplan/ 目錄下的網絡配置文件(通常是 .yaml 文件),並手動設置 IP 地址、網關和 DNS 伺服器。

    # 打完 sudo nano /etc/netplan/ 案 tab 
    & sudo nano /etc/netplan/{你的網路設定檔名}
    

    更改 .yaml

    network:
    version: 2
    ethernets:
        enp0s3:
            dhcp4: false
            addresses:
              - 10.0.2.14/24
            gateway4: 10.0.2.1 
            nameservers:
              addresses:
                - 8.8.8.8
                - 8.8.4.4
    

    更新網路設定:

    $ sudo netplan apply
    

    驗證網路配置是否成功更新:

    $ ip a
    

    image

    關閉 swap space。

    $ swapoff -a
    $ nano /etc/fstab
    

    使用以下命令打開 /etc/fstab 文件:

    $ sudo nano /etc/fstab
    

    在打開的文件中,找到類似於以下的行,註解他(這些行定義了 Swap 分區或文件):

    /swapfile   none    swap    sw    0   0
    

    這樣做之後,即使系統重啟,Swap 也不會被重新啟用,從而確保 Kubernetes 節點不依賴於 Swap。

◆ 每日咒術小知識

https://ithelp.ithome.com.tw/upload/images/20240908/20140874rzJEgIfVXf.jpg

參考資料

https://medium.com/starbugs/security-%E4%BD%A0%E8%A9%B2%E7%9F%A5%E9%81%93%E6%89%80%E6%9C%89%E9%97%9C%E6%96%BC-ssh-%E7%9A%84%E9%82%A3%E4%BA%9B%E4%BA%8B-76b3518cb747


上一篇
第三篇 : 網路設備咒具
下一篇
第五篇: 領域展開 Kubernetes
系列文
成為 Kubernetes 特級咒術師的 30 天修行30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言