계속 꺼지는 etcd 컨테이너들

위 문제를 해결하기 위해서는 etcdctl 명령을 이용해서 etcd클러스터 구성원들의 과도한 키 스페이스 데이터들을 제거하고, 데이터베이스 조각모음을 수행해서 quota 범위 내로 크기를 되돌리는 과정이 필요합니다. 하지만, etcd 컨테이너들이 2~3분에 한번씩 죽어대는 바람에 제대로 작업을 진행하기가 불가능했습니다.

컨테이너가 계속 꺼지고 켜지기를 반복하는 이유는 컨테이너에 livenessProbe 설정이 세팅되어 있어서 etcd 컨테이너가 정상동작하지 않으면 healthcheck에 실패한 것으로 보고 컨테이너를 계속 재기동 하기 때문이었습니다. 우선 이 현상을 해결하기 위해서 etcd pod에 세팅되어 있는 livenessProbe 설정을 제거해 주기로 합니다. etcd는 kubernetes를 구성하는 핵심 구성요소 중 하나이기 때문에 /etc/kubernetes/manifests/ 디렉토리에 pod 구성정보가 존재합니다. 찾아서 수정해 줍니다.

 
# /etc/kubernetes/manifests/etcd.yaml
 
 
 
apiVersion: v1
 
kind: Pod
 
metadata:
 
creationTimestamp: null
 
labels:
 
component: etcd
 
tier: control-plane
 
name: etcd
 
namespace: kube-system
 
spec:
 
containers:
 
- command:
 
- etcd
 
- --advertise-client-urls=https://192.168.0.220:2379
 
- --cert-file=/etc/kubernetes/pki/etcd/server.crt
 
- --client-cert-auth=true
 
- --data-dir=/var/lib/etcd
 
- --election-timeout=5000
 
- --heartbeat-interval=250
 
- --initial-advertise-peer-urls=https://192.168.0.220:2380
 
- --initial-cluster=k8s-master1=https://192.168.0.220:2380
 
- --key-file=/etc/kubernetes/pki/etcd/server.key
 
- --listen-client-urls=https://127.0.0.1:2379,https://192.168.0.220:2379
 
- --listen-metrics-urls=http://127.0.0.1:2381
 
- --listen-peer-urls=https://192.168.0.220:2380
 
- --name=k8s-master1
 
- --peer-cert-file=/etc/kubernetes/pki/etcd/peer.crt
 
- --peer-client-cert-auth=true
 
- --peer-key-file=/etc/kubernetes/pki/etcd/peer.key
 
- --peer-trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt
 
- --snapshot-count=10000
 
- --trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt
 
image: k8s.gcr.io/etcd:3.3.15-0
 
imagePullPolicy: IfNotPresent
 
# 컨테이너가 꺼지는 현상을 방지하기 위해 주석처리 해줍니다.
 
# livenessProbe:
 
# failureThreshold: 8
 
# httpGet:
 
# host: 127.0.0.1
 
# path: /health
 
# port: 2381
 
# scheme: HTTP
 
# initialDelaySeconds: 15
 
# timeoutSeconds: 15
 
name: etcd
 
resources: {}
 
volumeMounts:
 
- mountPath: /var/lib/etcd
 
name: etcd-data
 
- mountPath: /etc/kubernetes/pki/etcd
 
name: etcd-certs
 
hostNetwork: true
 
priorityClassName: system-cluster-critical
 
volumes:
 
- hostPath:
 
path: /etc/kubernetes/pki/etcd
 
type: DirectoryOrCreate
 
name: etcd-certs
 
- hostPath:
 
path: /var/lib/etcd
 
type: DirectoryOrCreate
 
name: etcd-data
 
status: {}

위와같은 주석처리를 모든 master 노드의 해당 경로에 존재한 yaml파일에 작업해주면, etcd 컨테이너가 죽지 않게 됩니다.

etcdctl 명령어

konvoy로 설치한 kubernetes에서 etcdctl 명령어를 사용하기 위해서 가장 정석적인 방법은 etcd 컨테이너 내에 접속해서 etcd 명령어를 사용하는 것이지만, 본인은 귀찮아서 그냥 컨테이너 밖에서 찾아서 사용해보기로 했습니다. (당연히 etcd컨테이너가 동작중인 master노드에서 해야합니다.)

 
#bash
 
find / -type f -name etcdctl 2>/dev/null
 
#출력예시
 
[root@k8s-master1 manifests]# find / -type f -name etcdctl 2>/dev/null
 
/run/containerd/io.containerd.runtime.v1.linux/k8s.io/4fc80ceb99dfc0dca39e726d95104f5e424c53e618fd71d201b9b8b9c75a6d5d/rootfs/usr/local/bin/etcdctl
 
/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/9/fs/usr/local/bin/etcdctl

둘중에 아무거나 선택해서 alias를 걸어서 사용하도록 합니다. alias를 걸어줄때 etcdctl 명령어로 클러스터와 통신할 때 사용하기 위한 인증서등을 함께 세팅해서 걸어줍니다.

 
#bash
 
 
 
alias etcdctl="\
 
ETCDCTL_API=3 \
 
/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/9/fs/usr/local/bin/etcdctl \
 
--cacert='/etc/kubernetes/pki/etcd/ca.crt' \
 
--cert='/etc/kubernetes/pki/etcd/server.crt' \
 
--key='/etc/kubernetes/pki/etcd/server.key' "

테스트

 
#bash
 
 
 
etcdctl member list

문제 해결

우선, 알람이 설정되어 있는 목록과 현재 클러스터 상태를 확인합니다.

 
#bash
 
 
 
etcdctl alarm list
 
etcdctl -w table endpoint status --cluster

etcd용량을 다이어트 해봅니다. 현재 상태를 제외한 나머지 오래된 revision들을 제거하기 위해 current revision 값을 가져옵니다.

 
#bash
 
c_revision=$(etcdctl endpoint status --write-out="json" | egrep -o '"revision":[0-9]*' | egrep -o '[0-9].*')
 
echo ${c_revision}

오래된 revision들을 날립니다.

 
#bash
 
etcdctl --endpoints=$(etcdctl member list | cut -d, -f5 | sed -e 's/ //g' | paste -sd ',') compact $c_revision

조각모음을 합니다. 본인의 경우에는 이 작업에서 용량이 드라마틱하게 줄어들었습니다.

 
#bash
 
etcdctl --endpoints=$(etcdctl member list | cut -d, -f5 | sed -e 's/ //g' | paste -sd ',') defrag

클러스터 상태를 확인합니다.

 
#bash
 
etcdctl -w table endpoint status --cluster
 
#출력결과
 
+----------------------------+------------------+---------+---------+-----------+-----------+------------+
 
| ENDPOINT | ID | VERSION | DB SIZE | IS LEADER | RAFT TERM | RAFT INDEX |
 
+----------------------------+------------------+---------+---------+-----------+-----------+------------+
 
| https://192.168.0.221:2379 | 1806ccfb80e73faf | 3.3.15 | 7.8 MB | false | 602 | 66877835 |
 
| https://192.168.0.222:2379 | e7c82e12168d0897 | 3.3.15 | 7.8 MB | false | 602 | 66877835 |
 
| https://192.168.0.220:2379 | edabb0b65fe02a4c | 3.3.15 | 7.8 MB | true | 602 | 66877835 |
 
+----------------------------+------------------+---------+---------+-----------+-----------+------------+

경보를 해제하고 확인합니다.

 
#bash
 
etcdctl alarm disarm
 
etcdctl alarm list

'나는 노동자 > KUBERNETES' 카테고리의 다른 글

인증서 갱신 - 전통적인 방법  (0) 2021.11.24
kubelet.conf certification 기간 확인  (0) 2021.11.24
minikube etcd 조각 모음 defrag  (0) 2021.11.21
metallb  (0) 2021.10.27
etcd 설치 - 간략문서  (0) 2019.09.19


root@k8s-master1 manifests]# find / -type f -name etcdctl 2>/dev/null
/run/containerd/io.containerd.runtime.v1.linux/k8s.io/4fc80ceb99dfc0dca39e726d95104f5e424c53e618fd71d201b9b8b9c75a6d5d/rootfs/usr/local/bin/etcdctl
/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/9/fs/usr/local/bin/etcdctl

etcdctl을 /usr/bin/ 밑으로 복사


#!/bin/bash

alias etcdctl3='ETCDCTL_API=3 etcdctl --cacert=/var/lib/minikube/certs/etcd/ca.crt --cert=/var/lib/minikube/certs/etcd/server.crt --key=/var/lib/minikube/certs/etcd/server.key'

root@minikube home]# etcdctl3 -w table endpoint status --cluster
+-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
|          ENDPOINT           |        ID        | VERSION | DB SIZE | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX | ERRORS |
+-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
| https://192.168.45.100:2379 | d5b1b2d93f592f08 |   3.5.0 |  1.6 MB |      true |      false |         4 |      46687 |              46687 |        |
+-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+


## 알람제거 ##
etcdctl3 --endpoints="https://${endpoint}:2379" alarm disarm
etcdctl3 --endpoints="https://${endpoint}:2379" alarm list

각 서버에서 실행하기 위해서는 
etcdctl3 alarm disarm
etcdctl3 alarm list


########### 압축하기 ####

etcdctl3 endpoint status --write-out="json" | egrep -o '"revision":[0-9]*'| egrep -o '[0-9].*'
"revision":41713

etcdctl3 compact 41713
#######################

## 조각 모음하기 ####
== 클러스터 전체 동시 ===
[root@minikube home]# etcdctl3 defrag --cluster    #클러스터 전체를 동시에
Finished defragmenting etcd member[https://192.168.45.100:2379]


[root@minikube home]# etcdctl3 -w table endpoint status --cluster
+-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
|          ENDPOINT           |        ID        | VERSION | DB SIZE | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX | ERRORS |
+-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
| https://192.168.45.100:2379 | d5b1b2d93f592f08 |   3.5.0 |  856 kB |      true |      false |         4 |      48305 |              48305 |        |
+-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+

=== etcd서버 하나씩 조각 모음 : 서비스 영향확인 필요 ==


etcdctl3 -w table endpoint status --cluster 

리더를 확인한다. 리더를 제외한 나머지 부분에서 진행하며, 리더는 맨 마지막에 진행 


etcdctl3 defrag --endpoints="https://${endpoint}:2379"
etcdctl3 --endpoints="https://192.168.45.100:2379" --write-out=table endpoint status
해당서버에서 etcd pod가 정상적으로 올라오는지 확인한다
- 반복 --



# set a very small 16MB quota
$ etcd.yaml에  --quota-backend-bytes=$((16*1024*1024))  #계산된 값을 넣어준다


# fill keyspace
$ while [ 1 ]; do dd if=/dev/urandom bs=1024 count=1024  | etcdctl3 put key  || break; done
...
Error:  rpc error: code = 8 desc = etcdserver: mvcc: database space exceeded
# confirm quota space is exceeded

[root@minikube manifests]# etcdctl3 -w table endpoint status --cluster                  +-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------------------------------+
|          ENDPOINT           |        ID        | VERSION | DB SIZE | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX |             ERRORS             |
+-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------------------------------+
| https://192.168.45.100:2379 | d5b1b2d93f592f08 |   3.5.0 |   16 MB |      true |      false |         5 |      50310 |              50310 |  memberID:15398285247096893192 |
|                             |                  |         |         |           |            |           |            |                    |                 alarm:NOSPACE  |
+-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------------------------------+
[root@minikube manifests]# etcdctl3 alarm list
memberID:15398285247096893192 alarm:NOSPACE

[root@minikube manifests]# etcdctl3 alarm disarm
memberID:15398285247096893192 alarm:NOSPACE

[root@minikube manifests]# etcdctl3 alarm list

## etcd.yaml에서 추가 ###

============ 압축하기 ============
 keep one hour of history
 --auto-compaction-retention=1


======용량 늘리기 ==================
예제: 8G  DEFAULT: 2G이며 MAX: 8G이다

--quota-backend-bytes=8589934592 


###################  job으로 조각모음 하기  :  etcd 2G기준   ########

[root@minikube manifests]#  etcdctl3 -w table endpoint status --cluster
+-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
|          ENDPOINT           |        ID        | VERSION | DB SIZE | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX | ERRORS |
+-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
| https://192.168.45.100:2379 | d5b1b2d93f592f08 |   3.5.0 |  408 MB |      true |      false |         2 |       1144 |               1144 |        |
+-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
kubectl label node minikube etcd="true"

[root@minikube home]#  etcdctl3 --endpoints="https://192.168.45.100:2379" --write-out=table endpoint status;
+-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
|          ENDPOINT           |        ID        | VERSION | DB SIZE | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX | ERRORS |
+-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
| https://192.168.45.100:2379 | d5b1b2d93f592f08 |   3.5.0 |  176 MB |      true |      false |         2 |       2819 |               2819 |        |
+-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+

 kubectl apply -f minikube-etcd-defrag-job.yaml

minikube-etcd-defrag-job.yaml
0.00MB



[root@minikube home]# etcdctl --endpoints="https://192.168.45.100:2379" --write-out=table endpoint status;
+-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
|          ENDPOINT           |        ID        | VERSION | DB SIZE | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX | ERRORS |
+-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
| https://192.168.45.100:2379 | d5b1b2d93f592f08 |   3.5.0 |  2.0 MB |      true |      false |         2 |       3456 |               3456 |        |
+-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+

## 스냅샷 파일 정보보기 ##

$ etcdctl snapshot save backup.db
$ etcdctl --write-out=table snapshot status backup.db
+----------+----------+------------+------------+
|   HASH   | REVISION | TOTAL KEYS | TOTAL SIZE |
+----------+----------+------------+------------+
| fe01cf57 |       10 |          7 | 2.1 MB     |
+----------+----------+------------+------------+


## db 파일에 직업 조각 모음 하기
  - --data-dir=/var/lib/minikube/etcd


[root@minikube snap]# etcdctl3 --endpoints="https://192.168.45.100:2379" --write-out=table endpoint status;
+-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
|          ENDPOINT           |        ID        | VERSION | DB SIZE | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX | ERRORS |
+-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
| https://192.168.45.100:2379 | d5b1b2d93f592f08 |   3.5.0 |  5.2 MB |      true |      false |         2 |      23546 |              23546 |        |
+-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
[root@minikube snap]# etcdctl3 defrag  /var/lib/minikube/etcd
Finished defragmenting etcd member[127.0.0.1:2379]
[root@minikube snap]# etcdctl3 --endpoints="https://192.168.45.100:2379" --write-out=table endpoint status;
+-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
|          ENDPOINT           |        ID        | VERSION | DB SIZE | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX | ERRORS |
+-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
| https://192.168.45.100:2379 | d5b1b2d93f592f08 |   3.5.0 |  1.8 MB |      true |      false |         2 |      23564 |              23564 |        |
+-----------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
[root@minikube snap]# ls -al
total 3792
drwx------ 2 root root     108 Nov 21 15:26 .
drwx------ 4 root root      29 Nov 21 08:29 ..
-rw-r--r-- 1 root root    7148 Nov 21 11:15 0000000000000002-0000000000002711.snap
-rw-r--r-- 1 root root    7148 Nov 21 14:20 0000000000000002-0000000000004e22.snap
-rw------- 1 root root 1843200 Nov 21 15:27 db
[root@minikube snap]#


##이건 뭘까 ? ##
 ./etcdctl3 check datascale --load="s" --auto-compact=true --auto-defrag=true

apiVersion: v1

kind: Namespace

metadata:

  name: metallb-system

  labels: app: metallb

 

metallb.yaml
0.01MB

 

 

[root@09506-minikube mnt]# docker ps |grep rancher
be91d46dd125   rancher/rancher-webhook                    "webhook"                8 minutes ago    Up 8 minutes                                                                               k8s_rancher-webhook_rancher-webhook-7f84b74ddb-qs6dt_cattle-system_e0fc1ee1-3f4a-4743-b28b-c8494286c9e7_0
7f0bdb28e5d7   k8s.gcr.io/pause:3.4.1                     "/pause"                 8 minutes ago    Up 8 minutes                                                                               k8s_POD_rancher-webhook-7f84b74ddb-qs6dt_cattle-system_e0fc1ee1-3f4a-4743-b28b-c8494286c9e7_0
7eceb0f7c466   rancher/gitjob                             "gitjob --tekton-ima…"   8 minutes ago    Up 8 minutes                                                                               k8s_gitjob_gitjob-5778966b7c-z5wzx_cattle-fleet-system_a7c81e7e-44ab-44cf-b4cb-f551768febe3_0
52af74d28f7f   rancher/fleet                              "fleetcontroller"        8 minutes ago    Up 8 minutes                                                                               k8s_fleet-controller_fleet-controller-974d9cc9f-vggbm_cattle-fleet-system_69a77bdd-7650-436a-b3a1-742831a0ba3c_0
b5639950b5df   08c9693b4357                               "entrypoint.sh --htt…"   9 minutes ago    Up 9 minutes                                                                               k8s_rancher_rancher-76cc8c9498-x22m6_cattle-system_60039463-1ea6-4028-9d3c-9342e5faac06_1
0735625e27f4   08c9693b4357                               "entrypoint.sh --htt…"   11 minutes ago   Up 11 minutes                                                                              k8s_rancher_rancher-76cc8c9498-f62bl_cattle-system_fb3ad37a-12e5-4ab3-b5d6-17390e18da61_0
8535f003f780   08c9693b4357                               "entrypoint.sh --htt…"   11 minutes ago   Up 11 minutes                                                                              k8s_rancher_rancher-76cc8c9498-zd5vl_cattle-system_1ba9d8a5-3c4f-491d-8641-7b895fa2b5bc_0
072602245d94   k8s.gcr.io/pause:3.4.1                     "/pause"                 11 minutes ago   Up 11 minutes                                                                              k8s_POD_rancher-76cc8c9498-zd5vl_cattle-system_1ba9d8a5-3c4f-491d-8641-7b895fa2b5bc_0
373297fa8fea   k8s.gcr.io/pause:3.4.1                     "/pause"                 11 minutes ago   Up 11 minutes                                                                              k8s_POD_rancher-76cc8c9498-f62bl_cattle-system_fb3ad37a-12e5-4ab3-b5d6-17390e18da61_0
123a5ca47ef9   k8s.gcr.io/pause:3.4.1                     "/pause"                 11 minutes ago   Up 11 minutes                                                                              k8s_POD_rancher-76cc8c9498-x22m6_cattle-system_60039463-1ea6-4028-9d3c-9342e5faac06_0
[root@09506-minikube mnt]# docker exec b5639950b5df reset-password
W0902 14:06:52.191966     238 client_config.go:615] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.
New password for default admin user (user-z4t7r):
NlWz99HVRJgFUS1eypl4

'나는 노동자 > 이런저런 Tip' 카테고리의 다른 글

grafana plugin 수동설치  (0) 2023.03.03
grafana table column변경  (0) 2022.07.20
아이폰 벨소리 -대략 1분 정도  (0) 2020.09.29
gitlab file read 경로 문제  (0) 2020.08.19
cascade rc 삭제 pod 유지  (0) 2020.08.14

 

 

apiVersion: v1
kind: Namespace
metadata:
  name: code-server
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: code-server
  namespace: code-server
  annotations:
    kubernetes.io/ingress.class: nginx
spec:
  rules:
  - host: code-server.your_domain
    http:
      paths:
      - backend:
          serviceName: code-server
          servicePort: 80
---
apiVersion: v1
kind: Service
metadata:
 name: code-server
 namespace: code-server
spec:
 ports:
 - port: 80
   targetPort: 8080
 selector:
   app: code-server
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: code-server
  name: code-server
  namespace: code-server
spec:
  selector:
    matchLabels:
      app: code-server
  replicas: 1
  template:
    metadata:
      labels:
        app: code-server
    spec:
      containers:
      - image: codercom/code-server:latest
        imagePullPolicy: Always
        name: code-server
        env:
        - name: PASSWORD
          value: "your_password"

'나는 노동자 > MSA' 카테고리의 다른 글

istio-service training  (0) 2019.04.01
redmine plugin check  (0) 2019.03.16

><> helm version WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /home/bacongobbler/.kube/config version.BuildInfo{Version:"v3.4.1", GitCommit:"c4e74854886b2efe3321e185578e6db9be0a6e29", GitTreeState:"clean", GoVersion:"go1.14.11"} ><> chmod o+r ~/.kube/config ><> helm version

WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /home/bacongobbler/.kube/config

WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: /home/bacongobbler/.kube/config

 

 

 

chmod go-r ~/.kube/config


docker --tlsverify --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem -H=$HOST:2376 version

'나는 노동자 > DOCKER' 카테고리의 다른 글

openssl centos Dockerfile  (0) 2019.11.01
컨테이너 파일 사이즈  (0) 2019.01.16
Runtime directory and storage driver  (0) 2018.07.11
cgroup-driver 변경하기  (0) 2018.07.11
systemctl start docker error시  (0) 2018.03.23

mp3cut.net/ko/

 

Audio Cutter

가장 간단히 음악 조각을 잘라낼 수 있는 방법

mp3cut.net

 

여기서 파일을 짤라 mp3로 저장(대략 1분정도)

 

itunes에서 파일에서 보관함 파일 추가에서 mp3파일 선택  -> 파일 변환 에서 AAC변환

새로 만들어진 파일 우측에서 윈도우 익스플로러 보기 선택

 

해당 파일을 m4r로 확장자 이름 변경

 

3uTools를 설치후  실행(이때 itunes는 종료) 핸드폰으로 연결   왼쪽메뉴에서 링투유 선택해서 해당 부분에 복사하면 끝

'나는 노동자 > 이런저런 Tip' 카테고리의 다른 글

grafana table column변경  (0) 2022.07.20
rancher password reset  (0) 2021.09.02
gitlab file read 경로 문제  (0) 2020.08.19
cascade rc 삭제 pod 유지  (0) 2020.08.14
편집기 설정 kubectl edit  (0) 2020.08.14

정상 설치되고 동작하지만. 프로젝터의 디렉터리나 파일의
경로가 pod 이름으로 보이면서 연결이 안될때
파드안에서 etc/gitlab/gitlab.rb 내용중
external_url ‘http://주소’

이렇게 자기 깃주소로 변경해주고 재시작하자
scale로 replicas를 0그리고 1 이렇게 해줘도 된다
etc/gitlab이 pvc여야 한다

'나는 노동자 > 이런저런 Tip' 카테고리의 다른 글

rancher password reset  (0) 2021.09.02
아이폰 벨소리 -대략 1분 정도  (0) 2020.09.29
cascade rc 삭제 pod 유지  (0) 2020.08.14
편집기 설정 kubectl edit  (0) 2020.08.14
인증서 생성 확인 tls ssl  (0) 2020.08.14

kubectl delete rc kubia —cascade=false

rc는 삭제되고 pod는 독립적으로 유지됨

'나는 노동자 > 이런저런 Tip' 카테고리의 다른 글

아이폰 벨소리 -대략 1분 정도  (0) 2020.09.29
gitlab file read 경로 문제  (0) 2020.08.19
편집기 설정 kubectl edit  (0) 2020.08.14
인증서 생성 확인 tls ssl  (0) 2020.08.14
pod 이전 로그 보기 log  (0) 2020.08.13

+ Recent posts