hello

rke2 설치 가이드

Share

환경 구성 전 사전 작업

# 파일 최대 활성화 개수 증가
## inotify 이벤트 큐 크기 증가 (이벤트 누락 방지)
sudo sysctl -w fs.inotify.max_queued_events=524288
## 사용자별 inotify 인스턴스 수 제한 증가 (동시에 더 많은 감시 가능)
sudo sysctl -w fs.inotify.max_user_instances=16383
## 사용자별 inotify 감시 파일 수 제한 증가 (더 많은 파일 감시 가능)
sudo sysctl -w fs.inotify.max_user_watches=524288
sudo sysctl -p


# 열 수 있는 파일 디스크립터 소프트/하드 제한 증가 (프로세스별 파일 핸들 수 확대)
sudo vi /etc/security/limits.conf
---
* soft nofile 1048576
* hard nofile 1048576
---


# rke2-server 서비스의 최대 파일 디스크립터 수 제한 설정
sudo mkdir -p /etc/systemd/system/rke2-server.service.d
sudo vi /etc/systemd/system/rke2-server.service.d/override.conf
---
[Service]
LimitNOFILE=1048576
---

Control Plane

# Ubuntu 22.04 / root 권한인 상태에서 했던 히스토리


# 기존 설치된게 있으면 깨끗이 제거
/usr/local/bin/rke2-killall.sh
/usr/local/bin/rke2-uninstall.sh

# installer agent 다운로드 & 설치 (CP용)
curl -sfL https://get.rke2.io | sh -

# Config 작성
mkdir -p /etc/rancher/rke2/
vi /etc/rancher/rke2/config.yaml

### Config 파일 예시
---
profile: "cis" 
# root 그룹만 읽게, 더 엄격하게 하려면 0600
write-kubeconfig-mode: "0640"   
data-dir: /mnt/iscsi/rke2

etcd-snapshot-schedule-cron: "0 */6 * * *"
etcd-snapshot-retention: 28
etcd-snapshot-compress: true
etcd-expose-metrics: true
etcd-s3: true
etcd-s3-endpoint: "s3.ap-northeast-2.amazonaws.com"
etcd-s3-region: "ap-northeast-2"
etcd-s3-bucket: "my-rke2-etcd"
etcd-s3-folder: "prod/cluster-a"
etcd-snapshot-dir: /mnt/iscsi/etcd-backup

# openssl rand -hex 32
token: cf94b10e4c86d7092376eafa6118e807615ba735bbbaf654cfca446e86af6dd1

# CNI를 기본값 canal 대신 ebpf를 쓰는 cilium으로 (커널 5.8 이상 버전 필요)
cni: cilium 

# cilium 사용 시 kube-proxy 사용 안함
disable-kube-proxy: true

# 네트워크
cluster-cidr: "10.42.0.0/16"
service-cidr: "10.43.0.0/16"
cluster-domain: "cluster.local"

tls-san:
  - 12.34.56.78 


# --- kube-apiserver: 감사 로깅 등 ---
kube-apiserver-arg:
  - "audit-log-path=/var/lib/rancher/rke2/server/logs/audit.log"
  - "audit-policy-file=/etc/rancher/rke2/audit-policy.yaml"
  - "audit-log-maxage=30"
  - "audit-log-maxbackup=10"
  - "audit-log-maxsize=200"


node-ip: 12.34.56.78
---

### audit 파일
---
apiVersion: audit.k8s.io/v1
kind: Policy
rules:
  - level: Metadata
    resources:
      - group: ""        # core
        resources: ["pods", "secrets", "configmaps", "services"]
      - group: "apps"
        resources: ["deployments", "daemonsets", "statefulsets"]
  - level: RequestResponse
    verbs: ["create", "update", "patch", "delete", "deletecollection"]
    resources:
      - group: ""        # secrets 등 민감한 건 ResponseBody 제외하려면 redaction 정책 추가
        resources: ["secrets"]
    omitStages:
      - "RequestReceived"
---

### Cilium Chart 값(HelmChartConfig)
---
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
  name: rke2-cilium
  namespace: kube-system
spec:
  valuesContent: |-
    hubble:
      enabled: true
      relay:
        enabled: true
      ui:
        enabled: true

    # kube-proxy 대체(엄격) 모드
    kubeProxyReplacement: "strict"

    # RKE2 고정: APIServer in-cluster 주소
    k8sServiceHost: "localhost"
    k8sServicePort: 6443

    # (선택) 노드 간 직접 라우팅 등 튜닝
    autoDirectNodeRoutes: true

    # (선택) 데이터 플레인 암호화를 원하면 커널 지원 확인 후 사용
    # encryption:
    #   enabled: true
    #   type: "wireguard"   # 또는 "ipsec"
---


# 서비스 등록
systemctl enable rke2-server.service

# 서비스 활성화
systemctl start rke2-server.service

# (로그 조회)
journalctl -u rke2-server -f



Control Plane (Join)

bss

Agent Node



# Installer Agent 설치 (Agent용)
curl -sfL https://get.rke2.io | INSTALL_RKE2_TYPE="agent" sh -

# 서비스 등록
systemctl enable rke2-agent.service

# Config 파일 작성
mkdir -p /etc/rancher/rke2/
vim /etc/rancher/rke2/config.yaml

# 서비스 시작
systemctl start rke2-agent.service

# (로그 조회)
journalctl -u rke2-agent -f

Kubectl를 사용자 계정에 적용

sudo mkdir -p $HOME/.kube
sudo cp /etc/rancher/rke2/rke2.yaml $HOME/.kube/config
sudo chown $USER:$USER $HOME/.kube/config

# DATA-DIR는 config.yaml에서 정의한 값
echo 'export PATH=$DATA_DIR/bin:$PATH' >> ~/.bashrc
echo 'export KUBECONFIG=$HOME/.kube/config' >> ~/.bashrc
source ~/.bashrc

Read more

AI 에이전트 시대의 코드 호스팅: Cursor ‘Origin’은 왜 등장했나

AI 코딩 도구로 빠르게 성장한 Cursor가 이제 코드 에디터를 넘어 코드 호스팅 영역까지 확장하고 있습니다. 2026년 8월 17일 Cursor는 Origin이라는 새로운 코드 호스팅 서비스를 early beta로 공개했습니다. 쉽게 말하면 GitHub처럼 Git 저장소를 만들고, 코드를 올리고, Pull Request(PR)를 만들고 리뷰할 수 있는 서비스입니다. 그런데 단순히 "Cursor가 GitHub 비슷한

By JHL

코딩 에이전트에 1,000억 토큰을 써보니, 병목은 모델 밖에 있었다

Codex 화면에 집계된 누적 사용량은 약 866억 토큰이었다. Claude는 내가 확인할 수 있었던 로컬 머신의 집계값만 합쳐도 약 127억 토큰이었다. 다만 Claude는 여러 워크스테이션과 서버에서 사용했고, 중간에 사용량 데이터를 한 번 날려버리기도 했다. 누락된 머신과 기간을 감안하면 실제 사용량은 300억 토큰을 넘었을 가능성이 높다. 여기에 Ollama Cloud로 사용한 GLM, Qwen

By JHL

AI가 짜준 코드가 배포 속도를 높였다면, 이제는 '신뢰성 가드레일'을 세울 때입니다

최근 많은 팀이 AI 코딩 어시스턴트나 에이전트를 도입하면서 코드 생산 속도가 비약적으로 상승했습니다. 하지만 속도가 빨라졌다는 것은 그만큼 잠재적인 결함이 프로덕션 환경으로 유입되는 속도 또한 빨라졌음을 의미합니다. DevOps.com의 이번 글은 AI가 생성한 코드의 특성과 그로 인해 발생하는 새로운 유형의 리스크, 그리고 이를 제어하기 위한 '신뢰성 가드레일(Reliability Guardrails)

By JHL

LLM 시대, 프롬프트 엔지니어링보다 '도메인 전문성'이 더 강력한 무기인 이유

최근 AI 도구들이 비약적으로 발전하면서 '프롬프트 엔지니어링'이라는 기술적 기법에 많은 관심이 쏠렸습니다. 하지만 실제 현업에서 LLM을 극한으로 활용해 고도의 결과물을 만들어내는 사람들의 공통점은 정교한 프롬프트 템플릿을 쓰는 능력이 아니라, 해당 분야에 대한 깊은 '도메인 전문성'을 갖추고 있다는 점입니다. 많은 이들이 LLM이 지식의 격차를 줄여준다고

By JHL