Kubernetes cluster name 지정 생성

kubernetes 최초 생성시 추가 옵션 없이 kubeadm init를 실행하면 기본 cluster name인 kubernetes로 cluster name이 지정됩니다.

kubectl config rename-context로 표시되는 context name 수정이 가능 하지만 최초 생성시부터 원하는 cluster name으로 생성이 되도록 하는 방안을 확인해보겠습니다.

# cluster-config.yaml 생성
# criSocket 옵션 지정이 필요해서 InitConfiguration이 추가 되었습니다. 불필요시 ClusterConfiguration만 선언하면 됩니다.
cat << EOF > cluster-config.yaml
apiVersion: kubeadm.k8s.io/v1beta3
kind: InitConfiguration
nodeRegistration:
  criSocket: /var/run/cri-dockerd.sock
---
apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
clusterName: my-cluster
kubernetesVersion: stable
controlPlaneEndpoint: "k8s-master-01:6443"
networking:
  podSubnet: "10.244.0.0/16"
EOF

$ sudo kubeadm init --config=cluster-config.yaml

$ kubectl config get-clusters
NAME
my-cluster

Mikrotik router & Cisco L2 Switch Trunking

Scenario

Mikrotik router 와 Cisco L2 스위치 이기종간에 회선 이중화(bonding, etherchannel) 후 두 장비 모두 vlan 100(192.168.100.0/24), vlan 200(192.168.200.0/24)의 통신이 가능하도록 구성

# Mikrotik router side
# bridge 생성
/interface bridge
add name=bridge-lan vlan-filtering=yes

# vlan 생성 및 bridge 할당
/interface vlan
add interface=bridge-lan name=vlan100 vlan-id=100
add interface=bridge-lan name=vlan200 vlan-id=200

# bonding 생성(ether2, ether3 포트 대상)
/interface bonding
add mode=802.3ad name=bonding1 slaves=ether2,ether3 transmit-hash-policy=\
    layer-2-and-3

# trunk 처리, bridge-lan에 포함된 port 중 trunk 대상 아닌 경우 untagged port 처리
/interface bridge port
add bridge=bridge-lan frame-types=admit-only-vlan-tagged interface=bonding1
add bridge=bridge-lan tagged=bonding1,bridge-lan untagged=\
    ether4,ether5,ether6 vlan-ids=100,200

# vlan IP 및 대역 할당
/ip address
add address=192.168.100.1/24 interface=vlan100 network=192.168.100.0
add address=192.168.200.1/24 interface=vlan200 network=192.168.200.0
# Cisco L2 switch side

configure terminal

# vlan IP 및 대역 할당
interface Vlan100
 ip address 192.168.100.2 255.255.255.0
interface Vlan200
 ip address 192.168.200.2 255.255.255.0

# etherchannel 구성(GigabitEthernet0/1, GigabitEthernet0/2 포트 대상)
interface range GigabitEthernet0/1-2
 channel-protocol lacp
 channel-group 1 mode active

# 생성된 etherchannel에 trunk 모드 및 trunking할 vlan 적용
interface Port-channel1
 switchport trunk allowed vlan 100,200
 switchport mode trunk

end
write

CKAD briefing – 20250618

  1. RBAC(deployment scraper, namespace cute-panda) sa scraper 생성 > clusterrole(resource pod, list) > clusterrole bind > deployment sa 할당
  2. serviceaccount ※ system:serviceaccount:gorilla:gorilla-sa – 권한 있는 sa로 deployment 할당
  3. postgre deployment의 ENV를 참고해서 secret을 생성 하는 문제
  4. pod resource requests pod에 적용
  5. pod resource requests 적용, limitrange max memory 사이즈의 1/2을 limit에 적용하라 였음
  6. readiness httpget /healthz port 8081, initialdelayseconds, periodseconds 수정 문제
  7. Cronjob – activedeadline: 8, restartPolicy: Never, .spec.successfulJobsHistoryLimit and .spec.failedJobsHistoryLimit 나옴, grep-test job 도 생성 해야 되는 것 같음
  8. 구버전 kube yaml 수정 문제, namespace 도 수정하라고 했음
  9. rolling update 문제
  10. pod security – user id, allowPrivilegeEscalation: false 수정
  11. network policy 라벨 추가 문제 db-access, front-access
  12. canary – 8:2 조정하라고 나옴
  13. docker…
  14. maxSurge, maxUnavailable 수정 후 nginx 버전 변경 후 rollout undo
  15. deployment 레이블 추가, replicas 변경 후 k expose deployment [deployment] –type NodePort –name alice? 생성 문제
  16. deployment의 컨테이너 포트 참고해서 ingress, service yaml 포트, path 변경
  17. ingress 도메인 적용 생성 문제