반응형

ElasticSearch Clustering -

2025.12.29 - [Develop/ElasticSearch] - ElasticSearch Clustering

 

ElasticSearch 설치 및 Kibana 설치이다.

 

1.  ElasticSearch 및 Kibana 다운

# ElasticSearch 다운
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-9.2.3-arm64.deb

# Kibana 다운
wget https://artifacts.elastic.co/downloads/kibana/kibana-9.2.3-arm64.deb

 

 

2. ElasticSearch

2-1. ElasticSearch 설치

dpkg로 설치 후 superuser is라고 나오는 패스워드부분을 복사하고, Kibana 연결을 위한 Token 생성하는 명령어를 확인한다.

dpkg -i elasticsearch-9.2.3-arm64.deb

#########################################################
The generated password for the elastic built-in superuser is : nW*MbQKKcGpFoMIP1HGB

If this node should join an existing cluster, you can reconfigure this with
'/usr/share/elasticsearch/bin/elasticsearch-reconfigure-node --enrollment-token <token-here>'
after creating an enrollment token on your existing cluster.

You can complete the following actions at any time:

Reset the password of the elastic built-in superuser with 
'/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic'.

Generate an enrollment token for Kibana instances with 
 '/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana'.

Generate an enrollment token for Elasticsearch nodes with 
'/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node'.

 

 

2-2. ElasticSearch 설정

Clustering을 위해 Cluster.name 및 node.name을 수정한다. (Clustering 안하면 필요없음.)

다른서버에서 접근가능 하도록 network.host, http.host, transport.host 전부 0.0.0.0 으로 해주었다.

vi /etc/elasticsearch/elasticsearch.yml
cluster.name: elasticsearch-cluster
node.name: elasticsearch-1
network.host: 0.0.0.0
http.host: 0.0.0.0
transport.host: 0.0.0.0

 

 

2-3. ElasticSearch 실행

systemctl daemon-reload
systemctl enable elasticsearch.service --now

 

시작하였으면 https://x.x.x.x:9200 로 접근하고 ID는 elastic PW는 위에 저장한 내용으로 로그인해본다.

 

 

3. Kibana

3-1. Kibana 설치 

dpkg -i kibana-9.2.3-arm64.deb

 

 

3-2. Kibana 설정 

server.host 만 0.0.0.0 으로 변경해주었다.

vi /etc/kibana/kibana.yml
server.host: 0.0.0.0

 

 

3.3 ElasticSearch 와 연결할 토큰 생성

/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
eyJ2ZXIiOiI4LjE0LjAiLCJhZHIiOlsiMTcyLjE2L

 

 

3.3 Kibana 실행

systemctl daemon-reload
systemctl enable kibana.service --now

 

 

3.4 Kibana 코드 확인

systemctl status 명령어를 통해 코드도 확인한다.

systemctl status kibana
Dec 29 13:22:28 elastic kibana[2538]: Go to http://0.0.0.0:5601/?code=935761 to get started.

 

 

3.5 Kibana 접속

http://x.x.x.x:5601 로 접속

접속 후 위 토큰 등록

 

 

토큰 등록 후 코드 등록

 

설치 완료 후 username은 elastic, pasword는 아까 복사한걸로 로그인 완료

 

기타. 아래는 ElasticSearch Clustering 방법이다.

ElasticSearch Clustering -

2025.12.29 - [Develop/ElasticSearch] - ElasticSearch Clustering

반응형

'Develop > ElasticSearch' 카테고리의 다른 글

ElasticSearch Custom Opentelemetry Collector  (0) 2026.01.10
ElasticSearch Clustering  (0) 2025.12.29
반응형

 

/etc/kubernetes/kubelet.conf is expired 에러 등. 인증서 만료 후 재갱신 방법이다

 

 

k8s 인증서 갱신

kubeadm certs renew all

 

 

k8s 인증서 갱신 확인

kubeadm certs check-expiration

 

 

 

Kubelet 인증서 갱신

(기존거 백업하고 진행할거면 /etc/kubernetes/kubelet.conf 파일과 /var/lib/kubelet/pki/kubelet-client-current.pem 파일 백업)

kubeadm kubeconfig user --org system:nodes --client-name system:node:$NODE > kubelet.conf

 

 

기존 Kubelet 인증서 및 kubelet-client-current.pem 삭제

rm /etc/kubernetes/kubelet.conf
rm /var/lib/kubelet/pki/kubelet-client-current.pem

 

 

Kubelet 인증서 복사

cp kubelet.conf /etc/kubernetes/

 

 

Kubelet 재기동

(재기동하면 삭제한 kubelet-client-current.pem 파일이 자동 생성 됨)

systemctl restart kubelet

 

 

kubelet-client-current.pem 조회

ls /var/lib/kubelet/pki/
kubelet-client-current.pem kubelet.crt kubelet.key

 

 

kubelet.conf 수정

vi kubelet.conf
users:
- name: 'system:node:'
  user:
    client-certificate: /var/lib/kubelet/pki/kubelet-client-current.pem
    client-key: /var/lib/kubelet/pki/kubelet-client-current.pem

 

 

참고 :

https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/#kubelet-client-cert

반응형
반응형

 

Jenkins에서 kubernetes pod template을 이용해 dind (docker in docker) 사용방법이다.

 

env에 name: DOCKER_HOST, value: unix:///var/run/docker.sock을 추가하고

securityContext에 privileged 설정을 입력하면된다.

 

아래 스크립트와 같이 작성하면 된다. (insecure은 필요하면 추가하면 됨.)

pipeline {
  agent {
    kubernetes {
      yaml '''
apVersion: v1
knd: Pod
metadata:
  name: inbound-agent
  namespace: jenkins
spec:
  containers:
  - name: dind
    image: docker:28.4.0-dind-alpine3.22
    env:
    - name: DOKCER_HOST
      value: unix:///var/run/docker.sock
    args:
    - --insecure-registry=harbor.wky.kr
    securityContext:
      privileged: true
'''
    }
  }
  stages{
    stage('docker') {
      steps {
        container('dind'){
          script {
            sh 'docker ps'
            sh 'docker build'
          }
        }
      }
    }
  }
}

 

반응형

+ Recent posts