반응형

파드 이름에 해시 값 제거

Deployment로 배포 시 파드 뒤에 붙는 해시 값 제거 불가능합니다.

Kind Pod로 배포해야 해시 값을 제거할 수 있습니다.

 

예시

# test-pod.yaml

apiVersion: v1
kind: Pod
metadata:
  name: test-pod
  namespace: test
spec:
  containers:
  - name: test-pod
    image: test-pod:latest
    imagePullPolicy: IfNotPresent
반응형
반응형

Mac에서 Kubernetes 설치

*환경

- Mac m2

 

설치 방법

*Kubernetes는 Docker Desktop, Minikube, k3s 등으로 설치가 가능한데 Docker Desktop으로 진행

 

1. OS에 맞게 Docker Desktop 설치

https://www.docker.com/products/docker-desktop/

 

2. Docker Desktop에서 제공하는 kKubernetes 실행

 

반응형
반응형

[Kubernetes]Node Not Ready 분석 및 해결

 

  1. Node 상태 확인
    1. 명령어
      1. kubectl describe node {nodename} 
    2. 상태 확인은 Conditions의 Type에 Message를 보면됩니다.
  2. kubectl get pods -n kube-system -o wide를 통해 coredns 파드 상태를 확인*현재 STATUS가 Running으로 문제가 없는 상태인데, Node 는 NotReady 상태
    1. kubectl get pods -n kube-system -o wide
  3. NotReady인 노드에서 Kubelet 상태 확인 및 재시작
    1. journalctl -u kubelet
    2. systemctl restart kubelet
  4. NotReady인 노드에서 container runtime 상태 확인 및 재시작
    1. systemctl status containerd
    2. systemctl restart containerd
  5. Master Node에서 Node 상태 확인
    1. kubectl get node
반응형
반응형

[Kubernetes]Node, Pod, Container 리소스 사용량 확인

**k8s cpu 는 Milicore (1,000 Milicore = 1 Core)로 표시합니다. Memory 는 Mbyte

 

[Node 사용량]

  • kubectl top node <node-name>

[Pod 사용량]

  • kubectl top pod <pod-name> -n <namespace> --containers --use-protocol-buffers

[Pod 내부 Container 별 사용량]

  • kubectl top pod —containers=true
반응형

'Kubernetes' 카테고리의 다른 글

[Kubernetes]Mac에서 Kubernetes 설치  (0) 2024.12.09
[Kubernetes]Node Not Ready 분석 및 해결  (0) 2024.11.04
kubernetes yaml 분석  (1) 2024.10.07
Pod에 붙어 있는 PV 확인  (0) 2024.09.11
kubectl 자동 완성  (0) 2024.09.06
반응형

kubernetes   yaml 분석

#apiVersion: 이 오브젝트를 생성하기 위해 사용하고 있는 쿠버네티스 API 버전 설정.
apiVersion: apps/v1
#kind: 어떤 종류의 오브젝트를 생성하는지 설정.
#Deployment: ReplicaSet 을 관리하는 controller.
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: tuba-metric-collector #Deployment의 label
  name: tuba-metric-collector #Deployment의 이름
  namespace: dev
#spec: 각 컴포넌트에 대한 자세한 설명과 어떤 오브젝트 종류인지에 따른 내용 설정.
spec:
	#replicas: 유지하고자 하는 Pod 의 갯수.
  replicas: 2
	#selector: 관리하고자 하는 Pod 를 선택.
  selector:
    matchLabels:
      app: tuba-metric-collector
  strategy: {}
	#template: 관리되고자 하는 Pod 에 대해 정의하는 필드.
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: tuba-metric-collector
    spec:
      containers:
      - image: harbor.vista.astellu.com/tuba-dev/tuba-metric-collector:latest
        imagePullPolicy: Always
        name: tuba-metric-collector
        ports:
        - containerPort: 8080
        resources: {}

        env:
        - name: TUBA_SETTING_FILENAME
          value: "setting.yml"
        - name: TUBA_KAFKA_CONSUMER_TOPIC
          value: "tuba-meta-topic"
        - name: TUBA_KAFKA_CONSUMER_GROUP
          value: "oper2-mc-netapp"
        - name: TUBA_KAFKA_CONSUMER_EXPIRYTIME
          value: "120000"
      imagePullSecrets:
        - name: harbor
#status: 쿠버네티스가 자동으로 생성, 자신이 원하는 상태가 되도록 현재 상태를 설정.
status: {}
---
apiVersion: v1
kind: Service
metadata:
  name: tuba-metric-collector
  namespace: dev
spec:
  selector:
    app: tuba-metric-collector
  ports:
    - port: 8080
      targetPort: 8080
      nodePort: 32008
  type: NodePort
반응형
반응형

Pod에 붙어 있는 PV 확인

 

$ kubectl describe pod "파드 이름" -n "namespace"

# Mounts 부분을 확인하면 어떤 디렉토리가 pv인지 확인 할 수 있다.
반응형

'Kubernetes' 카테고리의 다른 글

[Kubernetes]Node, Pod, Container 리소스 사용량 확인  (0) 2024.11.03
kubernetes yaml 분석  (1) 2024.10.07
kubectl 자동 완성  (0) 2024.09.06
kubernetes cluster 재설정  (1) 2024.06.30
Ubuntu 20.04 Kubernetes cluster 구축 방법  (1) 2024.06.30
반응형

kubectl 자동 완성

*현재 조건

  • Mac m1
  • kubectl 설치 완료
  • oh-my-zsh 사용
$ source <(kubectl completion zsh)  # 현재 셸에 zsh의 자동 완성 설정
$ echo "[[ $commands[kubectl] ]] && source <(kubectl completion zsh)" >> ~/.zshrc # 자동 완성을 zsh 셸에 영구적으로 추가한다.
$ echo "[[ $commands[kubectx] ]] && source <(kubectx $ZSH/custom/completions zsh)" >> ~/.zshrc

echo "fpath=($ZSH/custom/completions $fpath)" >> ~/.zshrc
$ cd ~/.oh-my-zsh/custom/plugins/

# zsh-autosuggestions 플러그인 
$ git clone https://github.com/zsh-users/zsh-autosuggestions

# zsh-syntax-highlighting 플러그인
$ git clone https://github.com/zsh-users/zsh-3syntax-highlighting.git

# plugin 활성화 plugins 항목에 다음것들을 추가해주면 된다.
$ vi ~/.zshrc
plugins=(git zsh-syntax-highlighting zsh-autosuggestions kubectl kube-ps1)
반응형
반응형

- Worker Node

sudo kubeadm reset
sudo rm -rf /etc/cni/net.d
sudo iptables -F
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t raw -F
sudo iptables -t raw -X
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo ipvsadm --clear
rm $HOME/.kube/config


# 만약 cache가 있으면 cache도 제거

 

 

- Master Node

sudo kubeadm reset

sudo rm -rf /etc/cni/net.d
sudo rm -rf /var/lib/etcd
sudo rm -rf ~/.kube

sudo kubeadm init --pod-network-cidr=192.168.0.0/16

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

curl https://raw.githubusercontent.com/projectcalico/calico/v3.24.5/manifests/calico.yaml -o calico.yaml
kubectl apply -f calico.yaml
반응형

'Kubernetes' 카테고리의 다른 글

[Kubernetes]Node, Pod, Container 리소스 사용량 확인  (0) 2024.11.03
kubernetes yaml 분석  (1) 2024.10.07
Pod에 붙어 있는 PV 확인  (0) 2024.09.11
kubectl 자동 완성  (0) 2024.09.06
Ubuntu 20.04 Kubernetes cluster 구축 방법  (1) 2024.06.30

+ Recent posts