Labsco
maruduck logo

Kubernetes Automated Installation

from maruduck

An agent for automatically installing Kubernetes in a Rocky Linux environment using MCP.

๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeQuick setup

MCP๋ฅผ ํ™œ์šฉํ•œ kubernetes ์ž๋™ํ™” ์„ค์น˜

Rocky Linux ํ™˜๊ฒฝ์—์„œ kubernetes ์ž๋™ํ™” ์„ค์น˜ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ MCP ์—์ด์ „ํŠธ์ž…๋‹ˆ๋‹ค.

์„ค์น˜ ํ™˜๊ฒฝ

  • Rocky-8.10-x86_64-minimal.iso
  • Virtual Box
  • kubernetes 1.29

MCP ํ™˜๊ฒฝ ์„ค์ •

git clone

$ git clone https://github.com/maruduck/k8s_install_mcp.git
  • uv ์‹คํ–‰
{
    "mcpServers": {
        "k8s": {
            "requestTimeout": 12000000000,
            "command": "uv",
            "args": ["run", "--directory $(clone ๊ฒฝ๋กœ)\\k8s_install_mcp", "k8s-install-mcp"]
        }  
    }
}
  • python venv ์‹คํ–‰
$ python -m venv venv
$ venv\Scripts\activate # Mac์€ source venv/bin/activate
$ pip install uv
$ uv pip install -r requirements.txt
{
    "mcpServers": {
        "k8s": {
            "requestTimeout": 12000000000,
            "command": "$(ํด๋ก  ์œ„์น˜)\\k8s_install_mcp\\.venv\\Scripts\\python.exe",
            "args": ["$(ํด๋ก  ์œ„์น˜)\\k8s_install_mcp\\src\\main.py"]
        }
    }
}
  • uvx ์‚ฌ์šฉ
{
    "mcpServers": {
        "k8s": {
            "requestTimeout": 12000000000,
            "command": "uvx",
            "args": ["k8s-install-mcp"]
        }
    }
}

์„ค์น˜ ์˜ˆ์‹œ


ํ™˜๊ฒฝ ์„ค์ •

sudo ๊ถŒํ•œ ๋ถ€์—ฌ

$ visudo  
# ๋ฐ˜๋“œ์‹œ ๋งˆ์ง€๋ง‰ ์ค„์— ์ž…๋ ฅํ•  ๊ฒƒ
# ๋‹ค๋ฅธ ์„ค์ •์˜ ์šฐ์„ ์ˆœ์œ„์— ๋ฐ€๋ฆด ์ˆ˜ ์žˆ์Œ
(์‚ฌ์šฉ์ž๋ช…) ALL=(ALL)  NOPASSWD: ALL 

ํƒ€์ž„ ์•„์›ƒ ์—๋Ÿฌ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์œผ๋ฏ€๋กœ ๋ฏธ๋ฆฌ update๋ฅผ ์ˆ˜ํ–‰ํ•œ ํ›„ ์‹คํ–‰ํ•  ๊ฒƒ

$ dnf update -y

Master node ์„ค์น˜

k8s ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 127.0.0.1 ํ˜ธ์ŠคํŠธ 104 ํฌํŠธ์—์„œ $(username) ์‚ฌ์šฉ์ž 1234 ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ k8s ๋งˆ์Šคํ„ฐ ์„ค์น˜ํ•ด์ค˜ 

Client node ์„ค์น˜

k8s ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 127.0.0.1 ํ˜ธ์ŠคํŠธ 103 ํฌํŠธ์—์„œ $(username) ์‚ฌ์šฉ์ž 1234 ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ node1 ๋…ธ๋“œ ์ด๋ฆ„์œผ๋กœ k8s ํด๋ผ์ด์–ธํŠธ ์„ค์น˜ํ•ด์ค˜ 

ํ•จ์ˆ˜ ๋ชฉ๋ก

  • master_set_ssh
    • master ๋…ธ๋“œ ssh ์ •๋ณด ์„ค์ •
  • client_set_ssh
    • client ๋…ธ๋“œ ssh ์ •๋ณด ์„ค์ •
  • master_token
    • master์˜ kubeadm join ๋ช…๋ น์–ด($HOME์˜ token.txt์— ์ €์žฅ) ๋ฐ˜ํ™˜
  • connect_test
    • ssh ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ
  • exec
    • ๋ช…๋ น์–ด ์‹คํ–‰
  • update
    • dnf update ์‹คํ–‰
  • setting_env
    • k8s ์„ค์น˜ ํ™˜๊ฒฝ ์„ค์ •
  • k8s_master_install
    • master ๋…ธ๋“œ ์„ค์น˜
  • k8s_client_install
    • client ๋…ธ๋“œ ์„ค์น˜
  • k8s_client_token
    • master token.txt ๋ช…๋ น์–ด(kubeadm join) ์‹คํ–‰