k3d를 사용하여 로컬 Kubernetes 클러스터 구축
3804 단어 beginnerskubernetesk3ddocker
k3d를 사용하여 로컬 개발 목적으로 Docker에서 단일 및 다중 노드 k3s 클러스터를 생성할 수 있습니다.
이 블로그에서는 k3d를 설정하기 위해 Ubuntu 20.04 LTS를 사용할 것입니다.
편의 스크립트를 사용하여 Docker 설치
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
사용자를 docker 그룹에 추가하여 루트가 아닌 사용자로 명령을 실행하고 현재 세션에서 로그아웃합니다.
$ sudo usermod -aG docker $USER
다시 로그인하고 루트가 아닌 사용자로 Docker 명령을 확인합니다.
$ docker info
$ docker container run hello-world
k3d 다운로드 및 설치
$ curl -s https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash
$ k3d version
kubectl 다운로드 및 설치
$ curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
$ sudo install kubectl /usr/local/bin/kubectl
$ kubectl version --client
아래 구성 파일을 사용하여 클러스터를 생성합니다.
$ cat config.yml
apiVersion: k3d.io/v1alpha4
kind: Simple
metadata:
name: dev
servers: 1
agents: 2
image: rancher/k3s:v1.25.2-k3s1
ports:
- port: 30000-30100:30000-30100
nodeFilters:
- server:*
registries:
create:
name: dev
host: 0.0.0.0
hostPort: "5000"
options:
k3s:
extraArgs:
- arg: --disable=traefik
nodeFilters:
- server:*
$ k3d cluster create --config config.yml
클러스터 세부 정보 및 노드 확인
$ kubectl cluster-info
$ kubectl get nodes
샘플 index.html 파일 만들기
$ echo "Hello from Pod!" > index.html
아래 Dockerfile을 사용하여 사용자 정의 Docker 이미지 빌드
$ cat Dockerfile
FROM nginx:1.23
COPY index.html /usr/local/nginx/html
$ docker image build -t app:v1 .
맞춤형 빌드 이미지에 태그를 지정하고 k3d에서 생성한 컨테이너 레지스트리로 푸시합니다.
$ docker image tag app:v1 localhost:5000/app:v1
$ docker image push localhost:5000/app:v1
커스텀 빌드 이미지를 사용하여 포드 배포
$ cat app-pod.yml
apiVersion: v1
kind: Pod
metadata:
labels:
run: app
name: app
spec:
containers:
- image: dev:5000/app:v1
name: app
ports:
- containerPort: 80
$ kubectl create -f app.yml
$ kubectl get pods
포드를 노드 포트 서비스에 노출
$ cat app-nodeport.yml
apiVersion: v1
kind: Service
metadata:
labels:
run: app
name: app-nodeport
spec:
ports:
- port: 80
targetPort: 80
nodePort: 30000
selector:
run: app
type: NodePort
$ kubectl create -f app-nodeport.yml
$ kubectl get svc
브라우저 또는 curl을 사용하여 웹페이지 확인
$ curl http://localhost:30000
Reference
이 문제에 관하여(k3d를 사용하여 로컬 Kubernetes 클러스터 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/iamunnip/building-a-local-kubernetes-cluster-using-k3d-2p3d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)