Kubespray 및 Terraform을 사용하여 vSphere에서 Kubernetes 클러스터를 프로비저닝하여 배포 프로세스를 자동화합니다(문제 없음).
내 목표는 포드를 다른 VLAN(또는 포트 그룹)에 연결하여 VM처럼 각 앱이 자체 네트워크에서 실행되도록 하는 것입니다.
2가지 접근 방식이 있다고 생각합니다. 1. '모든 VLAN 포트 그룹(0-4095)'을 생성하고 K8S 노드 OS 내부에서 VLAN을 관리합니다. 2. 다중 NIC를 K8S 노드 VM에 연결합니다. 각각은 서로 다른 VLAN에 연결됩니다.
몇 주 동안 인터넷 검색을 한 후에도 비슷한 요구 사항에 대한 솔루션을 찾을 수 없습니다.
그래서 내 문제는 이런 방식으로 K8S 클러스터를 구축하는 방법을 알아내려고 노력하는 동시에 내가 올바른 방향으로 가고 있는지 완전히 확신할 수 없다는 것입니다.
내가 화나기 전에 도와주세요!
답변1
이는 다음을 사용하여 달성할 수 있습니다.멀티스니(multitus-cni)플러그인. 그것은 창조한다NetworkAttachmentDefinition
네트워크 인터페이스를 지정할 수 있는 사용자 정의 리소스, 즉
apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
name: macvlan-conf
spec:
config: '{
"cniVersion": "0.3.0",
"type": "macvlan",
"master": "eth0",
"mode": "bridge",
"ipam": {
"type": "host-local",
"subnet": "192.168.1.0/24",
"rangeStart": "192.168.1.200",
"rangeEnd": "192.168.1.216",
"routes": [
{ "dst": "0.0.0.0/0" }
],
"gateway": "192.168.1.1"
}
}'
그런 다음 이 구성을 포드에 연결합니다.
apiVersion: v1
kind: Pod
metadata:
name: samplepod
annotations:
k8s.v1.cni.cncf.io/networks: macvlan-conf
또한 더 많은 사용자 정의 리소스를 생성한 다음 포드 주석에서 이를 참조하여 포드에 더 많은 인터페이스를 추가할 수 있습니다.
더세부.