본문 바로가기
반응형

Development/Docker&Kubernetes38

VirtualBox 에 Kubernetes 올리기(k3s) https://coffeewhale.com/kubernetes/cluster/virtualbox/2020/08/31/k8s-virtualbox/ 1. Virtual Box 설치 & 설정 총 3대의 VM. (master, worker1, worker2) 2. 인증서 있을경우 - /usr/local/share/ca-certificates 에 인증서 파일 copy - sudo udpate-ca-certificates 3. PROXY 존재할 경우 /etc/environment 파일에 proxy 설정 export https_proxy=http://IP:PORT export http_proxy=http://IP:PORT 4. 토큰 sudo cat /var/lib/rancher/k3s/server/token K105.. 2020. 9. 11.
맥북에 도커 설치. 도커 설치할 일이 었어서 맥북에 도커를 설치했는데 정말 간단하게 설치가 됐다. 1. 도커 다운로드 https://www.docker.com/get-started Get Started with Docker | Docker Learn about the complete container solution provided by Docker. Find information for developers, IT operations, and business executives. www.docker.com 여기 가면 운영체제에 맞는 도커를 다운 받을 수 있다. 2. 설치 설치는 다른 어플리케이션 설치 하듯이 간단히 드래그 & 드랍으로 하면 된다. 3. 설치가 된후 Start 를 누르면 아래와 같은 화면이 나온다. 도커를 사.. 2020. 7. 10.
[K8S] Kubernetes secret 생성 ingress 에 tls 에서 사용되는 인증서가 만료되어서 secret 을 생성 해야 할 경우 다음과 같이 생성하면된다. 인증서와 key 파일은 있다고 가정한다. 없다면 다음 글을 참고하면 된다. 2018/08/22 - [Development/Tech&Seminar] - Openssl로 SSL 을 위한 인증서 발급하기 (HTTPS) secret 이름은 my-secret 이라고 가정하고 dev 네임스페이스에 생성되어있다고 가정한다. 1. 기존 secret 삭제 kubectl delete secret my-secret -n dev 2. secret 생성 kubectl create secret tls my-secret --key my.key --cert my.crt -n dev 이렇게 하면 끝난다. 이미 in.. 2020. 4. 14.
Docker build 할때 parameter 처리 방법 Spring boot Application 을 Dockerfile 로 build 할 때에 profile 값을 전달 해야해서 찾아본 것을 적어보았다. profile 값을 전달하기 위해서는 다음과 같은 방법들이 있다. 1.Dockerfile 에 profile 값을 넣고 build 를 한다. FROM java:8 ADD target/app.jar app.jar RUN bash -c 'touch /app.jar' ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom","-Dspring.profiles.active=dev","-jar","/app.jar"] 2.Docker run 할때 환경 변수로 전달한다. docker run -d -p 8080:8080 -.. 2019. 8. 1.
[K8S] Kubernetes Nginx Controller 에 TLS 설정하다 생긴일.... 최근에 Kubernetes에 어플리케이션을 올리다가 몇일간 맨붕 상태가 온 내용을 남겨두고자 한다. Kubernetes 클러스터에 my-test1 이라는 네임스페이스로 ingress, servcie, deployment 를 생성하였다. 여기 까지는 문제가 없었는데 도메인을 설정하고 tls 를 설정하면서 문제가 발생했다. 1. test.com 이라는 도메인으로 사설 인증서 생성. 2. crt 파일과 key 파일을 이용해서 secret 생성 3. ingress 에 tls 설정에 host와 tls 를 설정. 위와같이 진행을 하고 접속을 해봤다. 그런데 이상하게 브라우저에서 "주의요함" 부분을 클릭해보면 내가 만든 사설인증서의 도메인이 나오는게 아니라 Kubernetes의 Fake 인증서가 나왔다. 분명히 나는.. 2019. 5. 27.
[K8S] Replica Set vs Replication Controller 차이 ReplicaSet 은 Replicatation Controller 의 새로운 버전이다. 다른것은 다 동일한데 아래와 같은 차이점이 존재 한다. ReplcaSet : Set-based Selectors Replicatation Controller : Equality-based Selectors Equality-based Set-based support Service, Replication Controller Job, Deployment, ReplicaSet, Daemon Set Operation =, ==, != in, notin, exists Example enviroment=prd enviroment in (prd) Command Line kubectl get pods -l enviroment=prd.. 2019. 5. 8.
[K8S] Kubernetes Object Management 에 대해서 살펴보자. Kubernetes를 사용하면서 자주 사용하는게 kubectl 명령어 이다. 그리고 그중에서 컨테이너를 생성할때 항상 kubectl create 명령어를 사용했다. 그런데 사용하다보니 어떤 글에는 create 를 사용하고 어디에서는 apply 를 사용하는 것을 보게 되었다. 그래서 이 차이점이 궁금해서 이렇게 정리하게 되었다. 아래 내용들은 kubernetes document 에서 요약한 내용들이다. https://kubernetes.io/docs/concepts/overview/object-management-kubectl/overview/ Kubernetes 에서 Object Management 에는 3가지가 있다. Management technique Operates on Recommended en.. 2018. 11. 14.
[K8S] Kubernetes 기초 개념 정리 Cluster- Master, Node 2가지 타입의 리소스가 존재한다.- Master : cluster를 관리한다. - Node : Worker Machine 으로 제공되는 VM 또는 물리적 컴퓨터이다. 각각의 Node 는 Node 를 관리하고 Kubernetes master와 커뮤니케이션을 할수 있는 Kubelet 이라는 agent 를 가지고 있다. Node 는 master 가 노출시켜놓은 Kubernetes API 를 사용해서 통신을 한다. https://kubernetes.io/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro/Pod- Deployment 를 생성하게 되면 Deployment는 Pod 를 생성하고 그 안에 Containe.. 2018. 10. 30.
Docker 로 mysql 설치 및 접속 하기 Docker 로 mysql 를 올려봤다. 실행시키는 방법은 아주 간단하다. docker run --name mysql-db -p 3306:3306 -e MYSQL_ROOT_PASSWORD= -d mysql 이렇게 하면 mysql container 가 구동된다. docker container ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e99420ff2ee4 mysql "docker-entrypoint.s…" 26 minutes ago Up 6 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp mysql-db 여기까지는 쉬웠다. 그런데 내 로컬 컴퓨터에서 저 DB 에 접속을 하려고 하니.. .접속이 안됐다. 참고로 저 위치는.. 2018. 9. 18.
Docker 사용시 sudo 없이 사용하기 Docker 를 사용하려면 기본적으로 루트 권한이 필요하다. 그래서 그냥 쓰려면 매번 sudo 를 붙여 쓰던지 아니면 root 권한으로 변경해서 사용해야 한다.root 로 변경해서 사용하기는 좀 그렇고 현재 사용중인 사용자를 docker 그룹에 등록을 해주면 된다. sudo usermod -aG docker [현재 사용자] usermod : 사용자 속성을 변경하는 명령어-G (--groups) : 새로운 그룹을 말한다.-a(--append) : 다른 그룹에서 삭제 없이 G 옵션에 따른 그룹에 사용자를 추가한다. 그리고 나서 우분투를 재기동 해주면 sudo 없이 사용할 수 있다. sudo systemctl reboot 또는 sudo -su - [현재사용자] 로 해주면 재기동 없이 사용할수 있다. 혹시라도 .. 2018. 9. 10.
[K8S] Kubernetes RBAC Authorization & Binding 1. RBAC Authorization 개개인의 Role 에 의해서 network resource 를 access 할수 있도록 허용한다.RBAC 은 rbac.authorization.k8s.io API 그룹을 사용한다.RBAC 을 사용하기 위해서는 apiserver start 시에 --authorization-mode=RBAC 또는 /etc/kubernetes/manifests/kube-apiserver.yaml 파일에 kube-apiserver 항목에 --authorization-mode=RBAC 을 설정해주면 된다. 2. Role & ClusterRole - Role 은 단일한 namespace에 있는 resource 에 대한 권한을 정의한다.role.yaml123456789kind: RoleapiV.. 2018. 8. 29.
[K8S] Kubernetes 설치 ( in Ubuntu in AWS) 현재 AWS EC2 에 올라가 있는 ubuntu 에 kubernetes를 설치해 보았다. 그런데 설치를 하다보니 프리티어로 받은 t2.micro 가지고는 너무 성능이 느렸다. 거의 접속도 못할 지경에 이르렀다. 그래서 어차피 설치하고 지울거니깐 t2.large로 올렸다. 설치 전에 Docker 가 먼저 설치 되어 있어야 한다.(Docker 가 설치 안되어 있다면 https://docs.docker.com/install/linux/docker-ce/ubuntu/#set-up-the-repository 여기 참고하거나 아래 링크 에도 내용은 나와있다.) https://kubernetes.io/docs/setup/independent/install-kubeadm/ 여기에 들어가보면 친절하게 설치 하는 방법을 .. 2018. 8. 26.
728x90
반응형