Kind 설치해서 linux에서 docker 기반으로 kubernetes 테스트

 

1. kind 설치

curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.17.0/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind

 

2.  client kubetcl 설치

cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo

 [kubernetes]

 name=Kubernetes

 baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch

 enabled=1

 gpgcheck=1

 gpgkey=https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg

 EOF

 

sudo yum install -y kubectl

 

3. cluster 구성

kind create cluster --wait 5m

export  

kubetcl cluster-info

 

kubectl version     # client와 server 버전 출력

kubectl get componentstatuses   # comonent 보기

kubectl get nodes  # nodes 보기

kubectl describe nodes kube1    # node1 정보 보기

kubectl get daemonSets --namespace=kube-system kube-proxy  # 네트웍 트래픽을 서비스에 load balance

 

kubectl get pods,services.  # 서비스 types list

 

4. kubernetes object 생성  

json or yamil files

 

# obj.yaml 파일에 정의된 object 생성

kubectl apply -f obj.yaml

 

# object 지울때

kubectl delete -f obj.yaml

 

# container에 로그를 보고 싶을 경우

kubectl logs <pod-name>

 

# container에 명령어를 수행하고 싶을 경우

kubectl exec -it <pod-name>  -- bash

 

# container에 attach

kubectl attach -it <pod-name>

 

# kubernetes event 보기

kubectl get events

 

5. pod application 구성

# test-pod.yaml 파일

apiVersion: v1
kind: Pod
metadata:
  name: test
spec:
  containers:
    - image: gcr.io/kuar-demo/kuard-amd64:blue
      name: test
      ports:
        - containerPort: 8080
          name: http
          protocol: TCP

# kubernetes에 pod 추가

kubectl apply -f test-pod.yaml

kubectl get pods

kubectl describe pods test

 

# kubernetes에 pod 삭제

kubectl delete pods/kuard   or    kubectl delete -f test-pod.yaml

 

# kubernetes log 확인

kubectl logs test

 

# container에 명령어 수행

kubectl exec test -- date

 

# container에 로그인

kubectl exec -it test -- ash

 

# liveprobe 추가

apiVersion: v1
kind: Pod
metadata:
  name: test
spec:
  containers:
    - image: gcr.io/kuar-demo/kuard-amd64:blue
      name: test
      livenessProbe:
        httpGet:
          path: /healthy
          port: 8080
        initialDelaySeconds: 5
        timeoutSeconds: 1
        periodSeconds: 10
        failureThreshold: 3
      ports:
        - containerPort: 8080
          name: http
          protocol: TCP

# kubernetes에 pod 추가 및 port 포워딩 구성

kubectl apply -f test-pod-health.yaml

kubectl port-forward  --address 0.0.0.0 test  8080:8080 

 

 

 

 

 

 

 

'kubernetes' 카테고리의 다른 글

GKE - Kubernetes  (0) 2023.08.15

+ Recent posts