Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

설치 Version

CRI-O, kube-apiserver, kubelet, kube-controller-manager, kube-scheduler, cloud-controller-manager, kubectl 등의 Kubernetes 구성 요소들의 버전은 1.25로 설치한다.

Note

단, 구성 요소들간의 version skew policy를 참고하여 반드시 허용 범위내의 버전으로 설치 및 업그레이드를 진행하여야 한다.

버전 차이(skew) 정책

설치 노드

각 노드의 /etc/hosts에 아래와 같이 도메인 등록을 해두어야 한다.

Code Block
languagebash
10.20.2.231 k8s-master-centos8      k8s-master-centos8.snetsystems.com
10.20.2.232 k8s-worker01-centos8    k8s-worker01-centos8.snetsystems.com
10.20.2.233 k8s-worker02-centos8    k8s-worker02-centos8.snetsystems.com

Install Container Runtime

설치 가이드
위 linked page의 지침 中, CRI-O로 설치.

Short installation guide:

...

Note

위 표에서 나열한 port들을 하나씩 오픈해도 되지만, etcd와 같이 내부 클러스터 통신을 하는 또 다른 pod들을 생성할 수도 있다.
그때마다 따로 지정된 port를 오픈해야 하는 번거로움 때문에 여기서는 Source IP 대역으로 오픈하여 신뢰되는 네트워크 간(Master nodes ↔︎ Worker nodes) 통신은 허용하도록 하였다.

참고로 개별 포트를 오픈하는 방법도 아래 펼침 목록에 넣어두었다.

단, 어떤 방식으로 하든 간에, masquerade설정은 반드시 적용하여야 한다.
설정하지 않을 시, 서로 다른 node의 pod간 routing이 되지 않는다.

On every k8s nodes

Code Block
languagexml
/etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <service name="https"/>
  <port protocol="tcp" port="6443"/>
  <port protocol="tcp" port="10250"/>
  <masquerade/>
  <rule family="ipv4">
    <source address="10.0.0.0/8"/>
    <accept/>
  </rule>
</zone>

...