kubernetes pod의 redis-cli 접근하기

노드 리스트를 확인 MBP:~|⇒ kubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE broker-883809602-1qhmw 1/1 Running 0 6d 10.4.1.11 gke-test-broker-pool-xxxx broker-883809602-n9kd3 1/1 Running 0 6d 10.4.1.10 gke-test-broker-pool-xxxx redis-master-3573802360-htmp5 1/1 Running 0 6d 10.4.0.8 gke-test-broker-pool-xxxx test-broker-540561889-jjl1s 1/1 Running 0 9d 10.4.0.7 gke-test-broker-pool-xxxx접속 ..

노드 리스트를 확인 

MBP:~|⇒ kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE
broker-883809602-1qhmw 1/1 Running 0 6d 10.4.1.11 gke-test-broker-pool-xxxx
broker-883809602-n9kd3 1/1 Running 0 6d 10.4.1.10 gke-test-broker-pool-xxxx
redis-master-3573802360-htmp5 1/1 Running 0 6d 10.4.0.8 gke-test-broker-pool-xxxx
test-broker-540561889-jjl1s 1/1 Running 0 9d 10.4.0.7 gke-test-broker-pool-xxxx

접속 

MBP:~|⇒ gcloud compute ssh gke-test-broker-default-pool-xxxx


docker process 확인 

$ docker ps CONTAINER ID IMAGE 8fc5ad6417e0 redis@sha256:239820aax


redis-cli를 실행해서 필요한 명령어 수행하기 

$ docker exec -it 8fc5ad6417e0 redis-cli
127.0.0.1:6379> config set stop-writes-on-bgsave-error no


'Programming > GCP' 카테고리의 다른 글

pod restart하기  (0) 2017.11.23
Kubernetes 참고자료  (0) 2017.11.15
Java Application GKE Kubernetes 적용하기  (0) 2017.11.14
GCP Instance에 ssh 연결하기  (0) 2017.10.23
</div>-->
Programming/GCP 2017. 11. 23. 22:14
Kubernetes 참고자료

ConceptContainer Cluster Architecture : https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture Pods : https://kubernetes.io/docs/concepts/workloads/pods/pod-overview/#pods-and-controllers Service : https://kubernetes.io/docs/concepts/services-networking/service/ Deployments : https://kubernetes.io/docs/concepts/workloads/controllers/deployment/ TutorialsBasics : https://ku..

Concept






Tutorials



Examples

Spring Boot : https://github.com/saturnism/spring-boot-docker

Deploying PHP Guestbook application with Redis : https://kubernetes.io/docs/tutorials/stateless-application/guestbook/#start-up-the-redis-master


Articles

구글이 만든 Docker Container Orchestration 툴, Kubernetes 소개 : http://www.popit.kr/kubernetes-introduction/


The Distributed System ToolKit: Patterns for Composite Containers : http://blog.kubernetes.io/2015/06/the-distributed-system-toolkit-patterns.html

WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, and operations




Related


'Programming > GCP' 카테고리의 다른 글

kubernetes pod의 redis-cli 접근하기  (0) 2017.11.23
pod restart하기  (0) 2017.11.23
Java Application GKE Kubernetes 적용하기  (0) 2017.11.14
GCP Instance에 ssh 연결하기  (0) 2017.10.23
</div>-->
Programming/GCP 2017. 11. 15. 22:24
Java Application GKE Kubernetes 적용하기

target/broker-1.0-SNAPSHOT.jar가 존재한다고 생각합니다. Docker 설정 먼저 아래와 같이 Dockerfile 만들겠습니다. FROM openjdk:8 COPY target/broker-1.0-SNAPSHOT.jar /app.jar EXPOSE 9000/tcp ENTRYPOINT ["java", "-jar", "/app.jar"]docker에 login하고 build 후 run해봅니다. docker logindocker build -t asia.gcr.io/test-142514/test-broker:v1 .docker run -ti --rm -p 9000:9000 asia.gcr.io/test-142514/test-broker:v1Docker Image GCR에 Push하기 go..

target/broker-1.0-SNAPSHOT.jar가 존재한다고 생각합니다. 

Docker 설정 

먼저 아래와 같이 Dockerfile 만들겠습니다. 

FROM openjdk:8
COPY target/broker-1.0-SNAPSHOT.jar /app.jar
EXPOSE 9000/tcp
ENTRYPOINT ["java", "-jar", "/app.jar"]

docker에 login하고 build 후 run해봅니다. 

docker login
docker build -t asia.gcr.io/test-142514/test-broker:v1 .

docker run -ti --rm -p 9000:9000 asia.gcr.io/test-142514/test-broker:v1

Docker Image GCR에 Push하기 

google cloud에 push합니다.

gcloud docker -- push asia.gcr.io/test-142514/test-broker:v1

Compute > Container Engine > Container Registry에서 확인이 가능해집니다.

GKE와 연동

그럼 우리 Application이 동작할 Cluster를 만들어봅시다. 

아래 화면에서 CREATE CLUSTER를 클릭하여 생성할수도 있지만 CLI로 만들어 보겠습니다. 

machine-type은 https://cloud.google.com/compute/docs/machine-types 에서 참고하세요.

gcloud container clusters create test-broker-cluster --num-nodes 2 \

--machine-type n1-standard-1 --zone asia-northeast1-a

kubectl을 사용하기 위해서 아래와 같이 component를 install해야 합니다. 

$ gcloud components install kubectl

WARNING: Accessing a Container Engine cluster requires the kubernetes commandline client [kubectl]. To install, run $ gcloud components install kubectl Creating cluster test-broker-cluster...done. Created [https://container.googleapis.com/v1/projects/test-142514/zones/asia-northeast1-a/clusters/test-broker-cluster]. kubeconfig entry generated for test-broker-cluster. NAME ZONE MASTER_VERSION MASTER_IP MACHINE_TYPE NODE_VERSION NUM_NODES STATUS test-broker-cluster asia-northeast1-a 1.7.8-gke.0 35.192.91.27 n1-standard-1 1.7.8-gke.0 2 RUNNING


kubectl run test-broker --image=gcr.io/test-142514/test-broker:v1 --port=9000

배포가 잘되었는지 확인해볼까요? 

$ kubectl get deployments

NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE test-broker 1 1 1 1 2m

$ kubectl get pods NAME READY STATUS RESTARTS AGE test-broker-540561889-jjl1s 1/1 Running 0 30m

자 그런데 여기까지 해서는 해당 ip와 port로 접근해서는 접속이 되지 않습니다. 

아래와 같은 절차로 External Traffic을 허용해줘야 합니다. 

kubectl expose deployment test-broker --type=LoadBalancer

개방된 External IP를 확인해서 해당 IP, Port로 Application을 호출해봅시다. 

⇒ kubectl get services NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes 10.7.240.1 <none> 443/TCP 49m test-broker 10.7.249.27 104.193.123.118 9000:30103/TCP 1m

GKE Scale Up

$ kubectl scale deployment hello-java --replicas=3
deployment "hello-java" scaled

$ kubectl get deployment
NAME         DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
hello-java   3         3         3            3           22m

Service Update 시 Roll-Out Deployment

docker build -t asia.gcr.io/test-142514/test-broker:v2 .
gcloud docker -- push asia.gcr.io/test-142514/test-broker:v2

$ kubectl set image deployment/test-broker test-broker=asia.gcr.io/test-142514/test-broker:v2

deployment "test-broker" image updated

Rollback

$ kubectl rollout undo deployment/test-broker


'Programming > GCP' 카테고리의 다른 글

kubernetes pod의 redis-cli 접근하기  (0) 2017.11.23
pod restart하기  (0) 2017.11.23
Kubernetes 참고자료  (0) 2017.11.15
GCP Instance에 ssh 연결하기  (0) 2017.10.23
</div>-->
Programming/GCP 2017. 11. 14. 17:16
GCP Instance에 ssh 연결하기

gcloud compute ssh [INSTANCE_NAME] https://cloud.google.com/compute/docs/instances/connecting-to-instance

'Programming > GCP' 카테고리의 다른 글

kubernetes pod의 redis-cli 접근하기  (0) 2017.11.23
pod restart하기  (0) 2017.11.23
Kubernetes 참고자료  (0) 2017.11.15
Java Application GKE Kubernetes 적용하기  (0) 2017.11.14
</div>-->
Programming/GCP 2017. 10. 23. 14:27
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함