Ace-T's Blog 내 검색 [네이버 커넥트 이웃 합니다~^-^/ 요청 大 환영~~]

2020.07.16 스터디

OpenSource/K8s 2020. 7. 16. 16:33
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

6장 볼륨 : 컨테이너에 디스크 스토리지 연결

볼륨은

  1. pod와 라이프사이클이 같다. 즉, pod가 생성 될 때 볼륨이 생성, 삭제될 때 볼륨이 삭제.
  2. pod 스펙에 정의 된다.
  3. pod의 모든 컨테이너에서 볼륨을 사용할 수 있다.(단, 볼륨에 액세스해야하는 각 컨테이너에 볼륨을 마운트 해야 한다.)
  4. 여러가지 종류가 존재
    1. emptyDir: 일시적인 데이터를 저장하는 비어있는 단순 디렉토리.
    2. hostPath : 워커 노드(물리장비)의 파일 시스템에서 pod로 디렉토리를 마운트 하는데 사용.
    3. gitRepo : git스토리지의 내용을 체크아웃해 초기화된 볼륨.
    4. nfs : pod에 마운트 된 NFS 공유.(Network File System)
    5. gcePersistentDisk(구글 컴퓨트 엔진 영구 디스크)
    6. cinder etc.
  • emptyDir 실습

실습01

1. fortune.sh 만들기

#!/bin/bash
trap "exit" SIGINT
mkdir /var/htdocs
while :
do
  echo $(date) Writing fortune to /var/htdocs/index.html
  /usr/games/fortune > /var/htdocs/index.html
  sleep 10
done

※ shell script의 권한 체크 필요!

 

2. Dockerfile 만들기

FROM ubuntu:latest
RUN apt-get update ; apt-get -y install fortune
ADD fortune.sh /bin/fortune.sh
ENTRYPOINT /bin/fortune.sh

3. yml 만들기

apiVersion: v1
kind : Pod
metadata :
  name: fortune
spec:
  containers:
  - image: 화사 도커 허브 주소라서 삭제/teri_epi/fortune
    name: html-generator
    volumeMounts:
    - name: html
      mountPath: /var/htdocs
  - image: nginx:alpine
    name: web-server
    volumeMounts:
    - name: html
      mountPath: /usr/share/nginx/html
      readOnly: true
    ports:
    - containerPort: 80
      protocol: TCP
  volumes:
  - name: html
    emptyDir: {}

4. Docker Image 만들기!

docker build -t 회사도커허브주소/teri_epi/fortune .

5. Docker push!

docker push 회사도커허브주소/teri_epi/fortune

잘되었는지 dockerHub에서 확인.

회사 도커허브

6. k8s pod 수행!

kubectl create -f fortune-pod.yml

k는 kubectl alias해놓음.

7. port 포워드

kubectl port-forward fortune 8080:80

8. 확인

10초 마다 html생성 -> 새로고침 해보면 된다.

메모리를 사용하도록 할 수도 있다.

emptyDir:

  medium: Memory

더 많이 했는데 귀찮아서 정리는 요기까지 ㅋㅋ

 

- 끝 -

'OpenSource > K8s' 카테고리의 다른 글

2020.07.16 스터디  (0) 2020.07.16
repository does not exist or may require 'docker login' k8s  (0) 2020.02.20
docker hub login시 error 발생!  (0) 2020.01.29

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

repository does not exist or may require 'docker login' k8s

OpenSource/K8s 2020. 2. 20. 10:12
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

상황은 이러하다.

1. Dockerfile로 이미지를 만들었다.
Dockerfile  +  docker build 명령어 -> 이미지 뿅~
docker build -t xxxx:v0.1 .

2. docker images로 만들어진 이미지를 확인.
3. docker tag로 tag변경 가능.
4. docker push로 docker hub에 push!!
docker push xxxx:v0.1

k8sdev.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
    name: tomcat-deployment
    labels:
        app: tomcat
spec:
    replicas: 1
    selector:
        matchLabels:
            app: tomcat
    template:
        metadata:
            labels:
                app: tomcat
        spec:
           containers:
           - name: tomcat
             image: address.io/teri_epi/hahahoho:v0.1
             ports:
             - containerPort: 8080

kubectl로 kubernets에 적용.
kubectl apply -f k8sdev.yaml

오류 발생|
repository does not exist or may require 'docker login' k8s

원인
docker hub의 레파지토리가 비공개(private)여서 나타나는 현상이었다.

공개로 바꾸고 처리 끝~:)

private일 경우에 docker login관련 어떤 처리를 해줘야 하는 거 같다.
이 내요은 여기에서 다루지 않는다. 구글 신에게 물어보자! :)

 

'OpenSource > K8s' 카테고리의 다른 글

2020.07.16 스터디  (0) 2020.07.16
repository does not exist or may require 'docker login' k8s  (0) 2020.02.20
docker hub login시 error 발생!  (0) 2020.01.29

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::

docker hub login시 error 발생!

OpenSource/K8s 2020. 1. 29. 14:40
[Good Comment!!, Good Discussion!!, Good Contens!!]
[ If you think that is useful, please click the finger on the bottom~^-^good~ ]
by ace-T

docker login시에  error가 발생 하였다.

Error saving credentials: error storing credentials 
- err: exit status 1, out: `error storing credentials 
- err: exit status 1, out: `The user name or passphrase you entered is not correct.

 

~/.docker/config.json

{
  "auths" : {

  },
  "credSstore" : "osxkeychain",
  "credsStore" : "desktop",
  "stackOrchestrator" : "swarm"
}

 

다른 사람들과 config.json의 내용 또한 달랐다.

해결 방법

  • first rm /usr/local/bin/docker-credential-osxkeychain
  • modify ~/.docker/config.json "credsStore": ""
  • restart docker

참고 : https://github.com/docker/for-mac/issues/2295

'OpenSource > K8s' 카테고리의 다른 글

2020.07.16 스터디  (0) 2020.07.16
repository does not exist or may require 'docker login' k8s  (0) 2020.02.20
docker hub login시 error 발생!  (0) 2020.01.29

acet 박태하가 추천하는 readtrend 추천글!

설정

트랙백

댓글

:::: facebook을 이용하시는 분들은 로그인 후 아래에 코멘트를 남겨주세요 ::::