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 |
---|