GKE kurbernetes로 프로덕션 환경 구축을 목표로 - 모니터링 편 - docker + kubernetes로 web 어플리케이션이 움직이는 환경을 우선 구축했습니다만, 운용한다면 어떤 느낌으로 모니터링 해 나갈지 모르기 때문에 조사해 설정했습니다. 다음을 모니터링하려고 합니다만 아무래도 Stack Driver를 사용하면 좋다고 합니다. 1. 리소스 2. 로그 3. 프로세스 스택 드라이버 사용 Google Cloud Console->네비게이션 메뉴->모니터링에서 ... GKEstackdriver모니터링gcpgce GCE 인스턴스/GKE 노드에 SSH 연결하는 메모 GCE 인스턴스 시작 GCE 인스턴스에 SSH 연결 Windows PC에서 우선 SSH 연결할 수있는 곳까지 덤 : GKE 노드 (Kubernetes)에 SSH 연결 Google 계정이 있음 프로젝트 생성 만들기를 눌러 VM 만들기 시작 지역을 결정합니다. 무료 대상은 미국 서쪽 등 한정되므로주의 인스턴스 성능을 결정합니다. micro가 무료인 것 같기 때문에 micro를 선택. 디폴트는 다... GKE입문GoogleCloudPlatformgcpgce Rancher 2.2 Tech Preview Multi-Cluster App Rancher2.2의 새로운 기능으로 Multi-Cluster App 기능이 추가됩니다. 지금까지 Rancher는 관리되는 각 kubernetes 클러스터에 대한 카탈로그 기능에서 애플리케이션을 배포할 수 있었습니다. 이 Multi-Cluster App 기능은 관리되는 각 kubernetes 클러스터에 대해 카탈로그 기능에서 일괄적으로 애플리케이션을 실행할 수 있습니다. 2019년 2월 현재... GKEkubernetesAKSranchereks Rancher 2.0을 GKE 클러스터에 배포하고 GKE 클러스터 자체를 관리합니다. Rancher 2.0에서는 기존 Kubernetes 클러스터를 가져오고 관리할 수 있습니다. Rancher 서버 자체를 Kubernetes상에서 이동하는 것도 (이전과 같이) 가능하다. 예를 들어 다음 YAML과 같이 할 수 있습니다. 여기에서는 Cloud SQL을 사용해 보았지만, MySQL이라면 무엇이든 좋다. 그 중 helm install 할 수 있게 될 것을 기대. http://<任意... GKEkubernetescontainerrancher도커 k8s에서 HTTP/2 (gRPC 서버)를로드 밸런싱하고 싶습니다. 현재 학생 프로젝트에서 인프라로 GKE (Google Kubernetes Engine)를 이용하고 있습니다. Kubernetes의 로드 밸런서 Services are a “layer 4” (TCP/UDP over IP) construct, the proxy was purely in userspace현재의 Kubernetes Ingress는 OSI 참조 모델의 전송 계층(L4) 로드 밸런서를 ... GKEgRPCkubernetesenvoyhttp2 GCP KMS를 사용하여 비밀 정보를 대칭 암호화 및 복호화 샘플 코드: (상기 사항) 대책 전의 코드: (지금 기사) 대책 후의 코드: ( ) 대책 전의 코드에서는 Calendar API 를 두드리기 위해서 GCP 서비스 계정의 열쇠 credential.json 파일을 자격 증명으로서 이용합니다만, 암호화하지 않고 하고 있습니다. 대책 후의 코드에서는 KMS를 이용해 키 credential.json의 내용을 암호화하고 암호화한 키를 코드에 포함하지 ... cloudfunctionsPython3GKE GKE 마켓플레이스로 손쉽게 Prometheus + Grafana 환경 구축 새해 복 많이 받으세요. 아직 인프라의 기반 개발이 끝나지 않지만 꾸준히 가고 싶습니다. (인프라가 전문이 아니지만,,) 이번에는 서버의 감시 툴을 Prometheus와 Grafana를 사용해 구축해 나가고 싶습니다. GKE 환경에서는 이 2개를 간단하게 도입할 수 있도록 마켓플레이스가 준비되어 있으므로 이것을 사용해 실시합니다. default를 더럽히고 싶지 않으므로 monitoring 네... grafanaGKEprometheus GCE의 선점 인스턴스가 얼마나 떨어지는지 살펴 보았습니다. GCE의 선점형 VM을 60 일간 모니터링 해 보았다 Google Cloud Platform(이하 GCP)에서 제공되는 선점형 VM은 일반 약 70%의 가격으로 사용할 수 있는 유익한 VM입니다. 선점형은 저렴한 가격으로 사용할 수 있는 대신 다음과 같은 제한 사항이 있습니다. GCP 측의 사정으로 언제든지 VM이 강제 종료 될 수 있습니다 선점형 VM은 최대 24시간 동안 강제 종료됩니다 ... GKEkubernetesGoogleCloudPlatformgcpgce GKE에서 외부에 액세스할 때 GIP 고정 GKE로 Pod로부터 외부에 액세스하는 경우, 노드의 IP가 된다. 그리고 IP는 에페메랄로 오토스케일링했을 때에 동적으로 증감한다. 요구사항에 따라서는 GKE로부터의 액세스를 고정 IP로 해야 하는 경우가 있다. (예 : 외부 협력 서버가 IP 주소로 필터링하는 경우 등) 그러한 경우에 어떻게 하면 좋을까에 대해 생각해 보았다. 결론에서 말하면, NATGateWay가 되는 GCE 인스턴스를... GKEkubernetesnatGoogleCloudPlatformgce 4. 매니페스트 작성 및 웹 모듈 실행 본 기사는 이하 3의 계속입니다. 절차 4-1.1 GKE에 앱(이번에는 웹 모듈)을 배포하는 데 필요한 매니페스트 파일을 만듭니다. vi를 시작하고 다음 내용으로 sample-app_dev.yaml을 만듭니다. ※2개소 있는 [project_id]는 각자의 환경에 맞추어 잊지 않고 다시 써 주세요. 절차 4-1.2 만든 매니페스트 파일을 실행합니다. 안전하고 create되었습니다. 절차 4-... GKEkubernetesgradle도커자바 1. Google Kubernetes Engine(GKE)에서 Java 웹 모듈을 빨리 이동해 봅니다. kubernetes는 어떤 것인지 가볍게 알고 싶었고 일단 GKE로 간단한 웹 모듈을 움직여 보았습니다. 본 기사의 내용에 대해서 보안이나 운용면, 최적화 등의 고려가 빠져 있는 개소가 많이 있습니다. 양해 바랍니다. << 환경 >>(2019년 3월 9일 현재) gke 마스터 버전: 1.11.7-gke.4 jdk:openjdk-11.0.2 gradle: gradle-5.2.1 tomcat:a... GKEkubernetesgradle도커자바 GKE가 기본적으로 제공하는 로그 요약 GKE에서는, 스스로 아무것도 하지 않아도 Stackdriver Logging 를 유효하게 해 두는 것만으로 자동으로 로그를 수집해 주기 때문에, 하거나 할 수 있게 된다. 이하, 무엇이 어디로 보내지고 있는지의 정리. 배포된 각 컨테이너의 표준 출력, 표준 에러 출력이 전송된다. Kubernetes 시스템 용 (그만) 컨테이너의 로그. 이하, Pod 이름과 (컨테이너 이름) default-... GKEkubernetes Spinnaker에서 배포할 클러스터 추가 Cloud Launcher로 시작한 spinnaker에 배포 할 클러스터를 추가하려고 할 때 빠졌으므로 절차를 작성하십시오. ubuntu 사용자가 수행해야 할 사항과 hal deploy apply에서만 설정이 적용되지 않는다는 점에 유의해야합니다. Cloud Lancher에서 spinnaker를 시작하려면 다음과 같이 시작해야합니다. Kubernetes Account Name first-cl... GoogleCloudPlatformGKESpinnakerkubernetes Discord Bot "Roboty"의 뒷면 ~ 채용 기술과 개발 환경 정리 ~ 에서 소개한 Discord Bot 『Roboty』에서 채용하고 있는 기술이나 개발 환경의 정리입니다. 가능한 한 어리석은 기술을 도입하고 만지지 않은 것을 만지도록하고 있습니다. 그림으로 보면 이런 느낌입니다. 채용 이유 조금만 만질 기회가 있었다 모처럼이라면 제대로 쓸 수 있는 레벨이 되고 싶다 채용 이유 CI/CD 환경이 풍부합니다 (아래에 설명 된 GitLab-CI) 무료로 비공개 저장... GKEGitLab-CIGitLab도커루비 왜 GKE 노드 자동 업그레이드로 애플리케이션 서비스가 중지되는지 GKE에서 제공하는 은 유용하지만 인스턴스 재부팅을 고려하지 않은 구성 및 설정은 응용 프로그램 서비스를 중지합니다. 해결하는 문제는 적지만 애플리케이션 서비스가 중지되는 경우와 해결 방법을 정리했습니다. spec.replicas: 2 의 Deployment 를 apply 하면 아래 그림과 같이 하나의 인스턴스로 치우치는 경우가 발생합니다. 노드의 업그레이드는 1대씩 kubectl drain... gcpGKEkubernetes GKE에서 가능한 한 싸게 Kubernetes 클러스터를 작성하고 Prometheus + Grafana를 사용해 보자 Part1 -클러스터 작성편- 제목대로 GKE (Google Kubernetes Engine)에서 Kubernetes 클러스터를 만들고 Prometheus와 Grafana를 이동하십시오. 먼저 GKE에서 Kubernetes 클러스터를 생성해 보겠습니다. GCP(Google Cloud Platform) 계정 등록 및 프로젝트 생성이 끝났다고 가정합니다. 적당히 만들어 두십시오. 왼쪽 상단의 햄버거 메뉴에서 Kubernete... gcpGKEkubernetes Spinnaker on GKE (도입편) Halyard on GKE Quickstart - [ ] · Immutable Infrastructure *1의 철저 · 예측 가능하고 안전한 배포 파이프 라인 만들기 (cron에 의해서도 파이프라인 기동 가능 → k8s jobs의 관리에도) (인용: 참고 기사①) 안정적인 이미지 만들기, 배포 후 테스트, 문제가 발생한 경우 되감기 등의 작업을 "제대로"관리할 수 있다 이 "제대로"부분을 ... CDgcpGKESpinnaker kubernetes REST API에 외부에서 연결 kubernetes 에는 kubectl 라고 하는 커멘드가 있어 평상시의 오퍼레이션은 그곳에서 하는 일이 많다고 생각합니다만, 서버로부터 kubernetes 를 컨트롤 하고 싶다고 하는 요구도 있다고도 생각합니다. kubernetes 에는 REST API 가 준비되어 있으므로 그것에 액세스 하면 됩니다만, 어떻게 인증하면 좋은지 헤매었으므로 메모를 남겨 둡니다. X509 인증서 TOKEN 이... gcpGKEkubernetes 빈자의 GKE/FluentBit에서 로그 수집 경량 로그 수집 에이전트 fluent-bit fluent-bit로 Stackdriver Logging에 로그를 출력하여 상당한 리소스를 줄입니다. GCP의 무료 테두리만으로 GKE 클러스터를 만들 수 있었지만, 일부 Pod가 Pending이 되어 있었다. 조사해 보면, 최대의 Pod 는 Stackdriver Logging 에의 각 컨테이너의 로그 수집을 위해서 생성되고 있는 fluentd-c... GKEkubernetesfluent-bitfluentbitGoogleContainerEngine legacy 시스템에서 Google Cloud로가는 길 Part 2 우리 팀은 올 퍼블릭 클라우드에서 을 채택한 차기 백엔드를 설계 중입니다. 그런데 에서 kube-ui와 Auto scale에 대해 언급했지만, 아무래도 현재(2017/3/17)는 라고 이름이 바뀌고 있는 것 같다. 다시 과 Auto scale 에 대해 정리해 보기로 한다. 우선은 dashboard, 로 nginx가 들어간 pod를 4개에 스케일 아웃 했지만, 그 다음부터. 우선, dashbo... GKEkubernetesGoogleContainerEngineGoogleCloudPlatform도커 GKE의 Go 앱에서 Cloud Sql Proxy를 통해 CloudSQL 2세대에 연결 GKE Docker의 Go 앱에서 Cloud Sql Proxy를 통해 CloudSQL 2 세대에 연결해 보았으므로 비망록으로 남겨 둡니다. google cloud console에서 cloudSQL db 만들기 第2世代 선택하기 DB명은 db-dev 로 한다 フェールオーバレプリカの作成 에 체크하고 작성하기 인스턴스가 생성되었는지 확인 사용자의 비밀번호 설정 연결 확인, 사용자 권한 생성을 위한... 5gcpGKE Google Container Engine의 Rails 앱에 nginx 끼우기 이번에는 nginx를 통해 Rails에 액세스하도록 구성을 변경합니다. 덧붙여 제 경우에는 https화의 일환으로 nginx를 끼울 필요가 있었으므로 했습니다. , 의 순서에 따라 구축을 한 것으로 합니다. 80번에 온 http 액세스를 처리 $http_x_forwarded_proto가 "http"이면 "https"의 동일한 페이지로 리디렉션 그렇지 않으면 unix:///myapp/tmp/s... nginxGKERailskubernetesgcp OSS 버전 drone.io 0.4의 환경을 Kubernetes로 구축 drone0.4 의 plugin 가 증가해 왔으므로, 0.3 으로부터의 버전 업을 검토중. 플러그인 목록은 에서 확인할 수 있습니다. drone0.4 환경에 대해서는, Docker화의 뒤에 kubernetes로 구축한다. kubernetes의 구축은 귀찮기 때문에 GKE를 이용한다. 리포지토리는 을 이용. 컨테이너 클러스터만 만들 수 있습니다. 작성한 terraform 의 코드를 이용. dr... GKEkubernetesTerraformGoogleCloudPlatformd 로네. 이오 Terraform에서 GKE (GoogleContainerCluster) 용 컨테이너 클러스터 만들기 GoogleCloudPlatform 계정을 받았습니다 Google Cloud SDK 설치 및 인증 terraform은 설치되었습니다 (이번 환경에서는 0.6.8) GoogleDevelopersConsole에서 다음 작업을 수행합니다. 프로젝트 만들기 OAuth 동의 설정 서비스 계정 키 가져오기(JSON 형식) tf 파일과 같은 위치에 미리 얻은 서비스 계정 키의 JSON을 넣습니다. ■tf... GKE메모GoogleContainerEngineTerraformGoogleCloudPlatform urbernetes로 프로덕션 환경 구축을 목표로 - 네트워크 보안 편 - docker+kubernetes로 웹 애플리케이션이 움직이는 환경이 우선 구축한 것은 좋지만, 네트워크적으로 안전한지 불분명했기 때문에 조사했습니다. 시스템 구성 시스템 구성은 이런 느낌입니다. 외부에서 연결할 수 있는 IP 주소와 어떤 포트가 해제되었는지 확인합니다. 1.1 결과 외부 공개되고 있는 IP는 4개였습니다. ingress : 웹 서버 앞의 부하 분산 kubernetes 관련 A... GKEkubernetesgcp네트워크도커 GKE 기본 제공 로그 요약 (새 Kubernets Monitoring 버전) 그곳으로 옮기면 로그 주위의 구조는 이전 과 큰 변화가 있다. GKE ~ 이전의 일지입니다. 클러스터를 생성할 때 ↓ 을 선택하고 새 모니터링을 수행하면 Kubernets~ 입니다. 또한 1.10 이상이어야 하며, 새 집단이 아니면 1.9~1이 유효하지 않다.10이라도 Kubernetes Monitoring은 유효하지 않기 때문에 문턱이 좀 높다. (하지만 실제로 효과가 있으면 다음에 말한 ... kubernetesGKE
kurbernetes로 프로덕션 환경 구축을 목표로 - 모니터링 편 - docker + kubernetes로 web 어플리케이션이 움직이는 환경을 우선 구축했습니다만, 운용한다면 어떤 느낌으로 모니터링 해 나갈지 모르기 때문에 조사해 설정했습니다. 다음을 모니터링하려고 합니다만 아무래도 Stack Driver를 사용하면 좋다고 합니다. 1. 리소스 2. 로그 3. 프로세스 스택 드라이버 사용 Google Cloud Console->네비게이션 메뉴->모니터링에서 ... GKEstackdriver모니터링gcpgce GCE 인스턴스/GKE 노드에 SSH 연결하는 메모 GCE 인스턴스 시작 GCE 인스턴스에 SSH 연결 Windows PC에서 우선 SSH 연결할 수있는 곳까지 덤 : GKE 노드 (Kubernetes)에 SSH 연결 Google 계정이 있음 프로젝트 생성 만들기를 눌러 VM 만들기 시작 지역을 결정합니다. 무료 대상은 미국 서쪽 등 한정되므로주의 인스턴스 성능을 결정합니다. micro가 무료인 것 같기 때문에 micro를 선택. 디폴트는 다... GKE입문GoogleCloudPlatformgcpgce Rancher 2.2 Tech Preview Multi-Cluster App Rancher2.2의 새로운 기능으로 Multi-Cluster App 기능이 추가됩니다. 지금까지 Rancher는 관리되는 각 kubernetes 클러스터에 대한 카탈로그 기능에서 애플리케이션을 배포할 수 있었습니다. 이 Multi-Cluster App 기능은 관리되는 각 kubernetes 클러스터에 대해 카탈로그 기능에서 일괄적으로 애플리케이션을 실행할 수 있습니다. 2019년 2월 현재... GKEkubernetesAKSranchereks Rancher 2.0을 GKE 클러스터에 배포하고 GKE 클러스터 자체를 관리합니다. Rancher 2.0에서는 기존 Kubernetes 클러스터를 가져오고 관리할 수 있습니다. Rancher 서버 자체를 Kubernetes상에서 이동하는 것도 (이전과 같이) 가능하다. 예를 들어 다음 YAML과 같이 할 수 있습니다. 여기에서는 Cloud SQL을 사용해 보았지만, MySQL이라면 무엇이든 좋다. 그 중 helm install 할 수 있게 될 것을 기대. http://<任意... GKEkubernetescontainerrancher도커 k8s에서 HTTP/2 (gRPC 서버)를로드 밸런싱하고 싶습니다. 현재 학생 프로젝트에서 인프라로 GKE (Google Kubernetes Engine)를 이용하고 있습니다. Kubernetes의 로드 밸런서 Services are a “layer 4” (TCP/UDP over IP) construct, the proxy was purely in userspace현재의 Kubernetes Ingress는 OSI 참조 모델의 전송 계층(L4) 로드 밸런서를 ... GKEgRPCkubernetesenvoyhttp2 GCP KMS를 사용하여 비밀 정보를 대칭 암호화 및 복호화 샘플 코드: (상기 사항) 대책 전의 코드: (지금 기사) 대책 후의 코드: ( ) 대책 전의 코드에서는 Calendar API 를 두드리기 위해서 GCP 서비스 계정의 열쇠 credential.json 파일을 자격 증명으로서 이용합니다만, 암호화하지 않고 하고 있습니다. 대책 후의 코드에서는 KMS를 이용해 키 credential.json의 내용을 암호화하고 암호화한 키를 코드에 포함하지 ... cloudfunctionsPython3GKE GKE 마켓플레이스로 손쉽게 Prometheus + Grafana 환경 구축 새해 복 많이 받으세요. 아직 인프라의 기반 개발이 끝나지 않지만 꾸준히 가고 싶습니다. (인프라가 전문이 아니지만,,) 이번에는 서버의 감시 툴을 Prometheus와 Grafana를 사용해 구축해 나가고 싶습니다. GKE 환경에서는 이 2개를 간단하게 도입할 수 있도록 마켓플레이스가 준비되어 있으므로 이것을 사용해 실시합니다. default를 더럽히고 싶지 않으므로 monitoring 네... grafanaGKEprometheus GCE의 선점 인스턴스가 얼마나 떨어지는지 살펴 보았습니다. GCE의 선점형 VM을 60 일간 모니터링 해 보았다 Google Cloud Platform(이하 GCP)에서 제공되는 선점형 VM은 일반 약 70%의 가격으로 사용할 수 있는 유익한 VM입니다. 선점형은 저렴한 가격으로 사용할 수 있는 대신 다음과 같은 제한 사항이 있습니다. GCP 측의 사정으로 언제든지 VM이 강제 종료 될 수 있습니다 선점형 VM은 최대 24시간 동안 강제 종료됩니다 ... GKEkubernetesGoogleCloudPlatformgcpgce GKE에서 외부에 액세스할 때 GIP 고정 GKE로 Pod로부터 외부에 액세스하는 경우, 노드의 IP가 된다. 그리고 IP는 에페메랄로 오토스케일링했을 때에 동적으로 증감한다. 요구사항에 따라서는 GKE로부터의 액세스를 고정 IP로 해야 하는 경우가 있다. (예 : 외부 협력 서버가 IP 주소로 필터링하는 경우 등) 그러한 경우에 어떻게 하면 좋을까에 대해 생각해 보았다. 결론에서 말하면, NATGateWay가 되는 GCE 인스턴스를... GKEkubernetesnatGoogleCloudPlatformgce 4. 매니페스트 작성 및 웹 모듈 실행 본 기사는 이하 3의 계속입니다. 절차 4-1.1 GKE에 앱(이번에는 웹 모듈)을 배포하는 데 필요한 매니페스트 파일을 만듭니다. vi를 시작하고 다음 내용으로 sample-app_dev.yaml을 만듭니다. ※2개소 있는 [project_id]는 각자의 환경에 맞추어 잊지 않고 다시 써 주세요. 절차 4-1.2 만든 매니페스트 파일을 실행합니다. 안전하고 create되었습니다. 절차 4-... GKEkubernetesgradle도커자바 1. Google Kubernetes Engine(GKE)에서 Java 웹 모듈을 빨리 이동해 봅니다. kubernetes는 어떤 것인지 가볍게 알고 싶었고 일단 GKE로 간단한 웹 모듈을 움직여 보았습니다. 본 기사의 내용에 대해서 보안이나 운용면, 최적화 등의 고려가 빠져 있는 개소가 많이 있습니다. 양해 바랍니다. << 환경 >>(2019년 3월 9일 현재) gke 마스터 버전: 1.11.7-gke.4 jdk:openjdk-11.0.2 gradle: gradle-5.2.1 tomcat:a... GKEkubernetesgradle도커자바 GKE가 기본적으로 제공하는 로그 요약 GKE에서는, 스스로 아무것도 하지 않아도 Stackdriver Logging 를 유효하게 해 두는 것만으로 자동으로 로그를 수집해 주기 때문에, 하거나 할 수 있게 된다. 이하, 무엇이 어디로 보내지고 있는지의 정리. 배포된 각 컨테이너의 표준 출력, 표준 에러 출력이 전송된다. Kubernetes 시스템 용 (그만) 컨테이너의 로그. 이하, Pod 이름과 (컨테이너 이름) default-... GKEkubernetes Spinnaker에서 배포할 클러스터 추가 Cloud Launcher로 시작한 spinnaker에 배포 할 클러스터를 추가하려고 할 때 빠졌으므로 절차를 작성하십시오. ubuntu 사용자가 수행해야 할 사항과 hal deploy apply에서만 설정이 적용되지 않는다는 점에 유의해야합니다. Cloud Lancher에서 spinnaker를 시작하려면 다음과 같이 시작해야합니다. Kubernetes Account Name first-cl... GoogleCloudPlatformGKESpinnakerkubernetes Discord Bot "Roboty"의 뒷면 ~ 채용 기술과 개발 환경 정리 ~ 에서 소개한 Discord Bot 『Roboty』에서 채용하고 있는 기술이나 개발 환경의 정리입니다. 가능한 한 어리석은 기술을 도입하고 만지지 않은 것을 만지도록하고 있습니다. 그림으로 보면 이런 느낌입니다. 채용 이유 조금만 만질 기회가 있었다 모처럼이라면 제대로 쓸 수 있는 레벨이 되고 싶다 채용 이유 CI/CD 환경이 풍부합니다 (아래에 설명 된 GitLab-CI) 무료로 비공개 저장... GKEGitLab-CIGitLab도커루비 왜 GKE 노드 자동 업그레이드로 애플리케이션 서비스가 중지되는지 GKE에서 제공하는 은 유용하지만 인스턴스 재부팅을 고려하지 않은 구성 및 설정은 응용 프로그램 서비스를 중지합니다. 해결하는 문제는 적지만 애플리케이션 서비스가 중지되는 경우와 해결 방법을 정리했습니다. spec.replicas: 2 의 Deployment 를 apply 하면 아래 그림과 같이 하나의 인스턴스로 치우치는 경우가 발생합니다. 노드의 업그레이드는 1대씩 kubectl drain... gcpGKEkubernetes GKE에서 가능한 한 싸게 Kubernetes 클러스터를 작성하고 Prometheus + Grafana를 사용해 보자 Part1 -클러스터 작성편- 제목대로 GKE (Google Kubernetes Engine)에서 Kubernetes 클러스터를 만들고 Prometheus와 Grafana를 이동하십시오. 먼저 GKE에서 Kubernetes 클러스터를 생성해 보겠습니다. GCP(Google Cloud Platform) 계정 등록 및 프로젝트 생성이 끝났다고 가정합니다. 적당히 만들어 두십시오. 왼쪽 상단의 햄버거 메뉴에서 Kubernete... gcpGKEkubernetes Spinnaker on GKE (도입편) Halyard on GKE Quickstart - [ ] · Immutable Infrastructure *1의 철저 · 예측 가능하고 안전한 배포 파이프 라인 만들기 (cron에 의해서도 파이프라인 기동 가능 → k8s jobs의 관리에도) (인용: 참고 기사①) 안정적인 이미지 만들기, 배포 후 테스트, 문제가 발생한 경우 되감기 등의 작업을 "제대로"관리할 수 있다 이 "제대로"부분을 ... CDgcpGKESpinnaker kubernetes REST API에 외부에서 연결 kubernetes 에는 kubectl 라고 하는 커멘드가 있어 평상시의 오퍼레이션은 그곳에서 하는 일이 많다고 생각합니다만, 서버로부터 kubernetes 를 컨트롤 하고 싶다고 하는 요구도 있다고도 생각합니다. kubernetes 에는 REST API 가 준비되어 있으므로 그것에 액세스 하면 됩니다만, 어떻게 인증하면 좋은지 헤매었으므로 메모를 남겨 둡니다. X509 인증서 TOKEN 이... gcpGKEkubernetes 빈자의 GKE/FluentBit에서 로그 수집 경량 로그 수집 에이전트 fluent-bit fluent-bit로 Stackdriver Logging에 로그를 출력하여 상당한 리소스를 줄입니다. GCP의 무료 테두리만으로 GKE 클러스터를 만들 수 있었지만, 일부 Pod가 Pending이 되어 있었다. 조사해 보면, 최대의 Pod 는 Stackdriver Logging 에의 각 컨테이너의 로그 수집을 위해서 생성되고 있는 fluentd-c... GKEkubernetesfluent-bitfluentbitGoogleContainerEngine legacy 시스템에서 Google Cloud로가는 길 Part 2 우리 팀은 올 퍼블릭 클라우드에서 을 채택한 차기 백엔드를 설계 중입니다. 그런데 에서 kube-ui와 Auto scale에 대해 언급했지만, 아무래도 현재(2017/3/17)는 라고 이름이 바뀌고 있는 것 같다. 다시 과 Auto scale 에 대해 정리해 보기로 한다. 우선은 dashboard, 로 nginx가 들어간 pod를 4개에 스케일 아웃 했지만, 그 다음부터. 우선, dashbo... GKEkubernetesGoogleContainerEngineGoogleCloudPlatform도커 GKE의 Go 앱에서 Cloud Sql Proxy를 통해 CloudSQL 2세대에 연결 GKE Docker의 Go 앱에서 Cloud Sql Proxy를 통해 CloudSQL 2 세대에 연결해 보았으므로 비망록으로 남겨 둡니다. google cloud console에서 cloudSQL db 만들기 第2世代 선택하기 DB명은 db-dev 로 한다 フェールオーバレプリカの作成 에 체크하고 작성하기 인스턴스가 생성되었는지 확인 사용자의 비밀번호 설정 연결 확인, 사용자 권한 생성을 위한... 5gcpGKE Google Container Engine의 Rails 앱에 nginx 끼우기 이번에는 nginx를 통해 Rails에 액세스하도록 구성을 변경합니다. 덧붙여 제 경우에는 https화의 일환으로 nginx를 끼울 필요가 있었으므로 했습니다. , 의 순서에 따라 구축을 한 것으로 합니다. 80번에 온 http 액세스를 처리 $http_x_forwarded_proto가 "http"이면 "https"의 동일한 페이지로 리디렉션 그렇지 않으면 unix:///myapp/tmp/s... nginxGKERailskubernetesgcp OSS 버전 drone.io 0.4의 환경을 Kubernetes로 구축 drone0.4 의 plugin 가 증가해 왔으므로, 0.3 으로부터의 버전 업을 검토중. 플러그인 목록은 에서 확인할 수 있습니다. drone0.4 환경에 대해서는, Docker화의 뒤에 kubernetes로 구축한다. kubernetes의 구축은 귀찮기 때문에 GKE를 이용한다. 리포지토리는 을 이용. 컨테이너 클러스터만 만들 수 있습니다. 작성한 terraform 의 코드를 이용. dr... GKEkubernetesTerraformGoogleCloudPlatformd 로네. 이오 Terraform에서 GKE (GoogleContainerCluster) 용 컨테이너 클러스터 만들기 GoogleCloudPlatform 계정을 받았습니다 Google Cloud SDK 설치 및 인증 terraform은 설치되었습니다 (이번 환경에서는 0.6.8) GoogleDevelopersConsole에서 다음 작업을 수행합니다. 프로젝트 만들기 OAuth 동의 설정 서비스 계정 키 가져오기(JSON 형식) tf 파일과 같은 위치에 미리 얻은 서비스 계정 키의 JSON을 넣습니다. ■tf... GKE메모GoogleContainerEngineTerraformGoogleCloudPlatform urbernetes로 프로덕션 환경 구축을 목표로 - 네트워크 보안 편 - docker+kubernetes로 웹 애플리케이션이 움직이는 환경이 우선 구축한 것은 좋지만, 네트워크적으로 안전한지 불분명했기 때문에 조사했습니다. 시스템 구성 시스템 구성은 이런 느낌입니다. 외부에서 연결할 수 있는 IP 주소와 어떤 포트가 해제되었는지 확인합니다. 1.1 결과 외부 공개되고 있는 IP는 4개였습니다. ingress : 웹 서버 앞의 부하 분산 kubernetes 관련 A... GKEkubernetesgcp네트워크도커 GKE 기본 제공 로그 요약 (새 Kubernets Monitoring 버전) 그곳으로 옮기면 로그 주위의 구조는 이전 과 큰 변화가 있다. GKE ~ 이전의 일지입니다. 클러스터를 생성할 때 ↓ 을 선택하고 새 모니터링을 수행하면 Kubernets~ 입니다. 또한 1.10 이상이어야 하며, 새 집단이 아니면 1.9~1이 유효하지 않다.10이라도 Kubernetes Monitoring은 유효하지 않기 때문에 문턱이 좀 높다. (하지만 실제로 효과가 있으면 다음에 말한 ... kubernetesGKE