는 Kubernetes, 당신은 모두 여기에 필요한 도구를 엔터프라이즈 급 플랫폼을 구축!

는 Kubernetes 그것은 거의 모든 곳이며, 인정 표준 컨테이너 안무 사실이되었다. 이제 어려운 실무자는 Kubernetes가 발생하면이 기술을 이해하지 않습니다. 소프트웨어 개발, 테스트 및 인프라는에 "비즈니스."

 

당신이 생산 준비는 Kubernetes 플랫폼을 만들기 전에 기존 아웃 환경에서 애플리케이션을 마이그레이션 할 준비 할 필요가 있지만, 확실히 쉬운 일이 아니다. 당신은 너무에 etcd 데이터베이스, KUBE 컨트롤러, KUBE-스케줄러, 인증서, 코어 DNS와이 필요합니다. 그것은 또한 당신이 신속하게 교환 또는 기능 향상에 변경할 수 있도록 구성 요소와 신뢰할 수있는, 적응 시험 방법의 적절한 조합을 결정하는 연구에 시간과 자원을 투자했다.

 

환경 및 관리 프로세스를 만드는 것 외에도, 전략과 전술 계획은 회사에 매우 중요합니다. 몇몇 회사는 인프라의 요구를 충족하고 컨테이너를 사용하기 시작합니다. 귀하의 디자인과 기술 스택 컨테이너 환경 자산, 자원 및 비용의 재사용을 피하면서, 이전 및 새 컴퓨팅 형태의 지원을 필요로 할 가능성이 높습니다. (아래의 예 스택 기술의 기능 및 디자인)
 
는 Kubernetes, 당신은 모두 여기에 필요한 도구를 엔터프라이즈 급 플랫폼을 구축!

도 기술 스택 컨테이너 구조물 (1)
 
는 Kubernetes, 당신은 모두 여기에 필요한 도구를 엔터프라이즈 급 플랫폼을 구축!

그림 2 용기 설계 환경

 

관리 및 자동화

 

목장은 기업 고객 (서비스로는 Kubernetes)는 Kubernetes로서의 서비스를 제공하는 오픈 소스 엔터프라이즈 급는 Kubernetes 관리 플랫폼, 그것은 크게 간단하고 직관적 인 인터페이스 스타일 및 운영 경험, 해결은 업계의 유산 오랫동안는 Kubernetes 네이티브가 UI의 유용성 가난하고 가파른 학습 곡선 문제. 목장을 사용하면 수동으로 떨어진 클러스터에서 통증는 Kubernetes를 만들 수 있습니다 자동으로 클러스터를 설정하는 열쇠가 될 수 있습니다. 또한 구성, 액세스 제어, 글로벌 DNS, 재해 복구, 모니터링, 로깅 및 클러스터 업그레이드를 포함 K8S 클러스터를 설정하는 데 필요한 기능 세트를 제공합니다. 사용 Ansible CentOS는 가상 머신은 K8S 노드로 구성 될 수있다.
 

로그 및 모니터링

 

랜치 Fluentd에서 배포를 구축하고,이를 EFK 스택을 구축하는데 이용 될 수있다. 각 클러스터가 로그 Fluentd에 Elasticsearch 인스턴스를 밀어하도록 구성 할 수 있습니다.

 

키바는 매우 쉽게보고 Elasticsearch 로그를 검색 할 수 있습니다 오픈 소스 시각화 플랫폼입니다.

 
Github에서의 REPO를 Elasticsearch :

https://github.com/helm/charts/tree/master/stable/elasticsearch

 

Prometheus是一个收集监控指标的优质方案,Prometheus server可用于存储时间序列数据,alert-manager可用于管理告警,node-exporter可从节点导出指标,Kube-state-metrics可以为所有k8s对象生成指标。
 

Prometheus Github repo:

https://github.com/helm/charts/tree/master/stable/prometheus

 

然而,Prometheus缺少用户界面,因此需要Grafana,这是一个数据可视化工具。它能够连接到Prometheus server,提供监控用的图表和dashboard。
 

Grafana Github repo:

https://github.com/helm/charts/tree/master/stable/grafana
 

管理和自动化

 

Rancher是一个开源的企业级Kubernetes管理平台,为企业用户提供Kubernetes-as-a-Service (Kubernetes即服务),它简洁直观的界面风格及操作体验,极大程度解决了业界遗留已久的Kubernetes原生UI易用性不佳以及学习曲线陡峭的问题。通过使用Rancher,你可以远离手动创建Kubernetes集群的痛苦并且可以一键自动设置集群。它还提供一套K8s集群所需的功能集,包括配置、访问控制、全局DNS、灾备和恢复、监控、日志以及集群升级。使用Ansible将可以为K8s节点配置 CentOS VMs。
 

日志和监控

 

Rancher具有内置的FluentD部署,可用于构建EFK堆栈。可以将每个集群配置为把FluentD日志推送到Elasticsearch实例。

 

Kibana是一个开源的可视化平台,可以极为方便地查看和搜索Elasticsearch日志。
 

Elasticsearch Github repo:

https://github.com/helm/charts/tree/master/stable/elasticsearch

 

Prometheus是一个收集监控指标的优质方案,Prometheus server可用于存储时间序列数据,alert-manager可用于管理告警,node-exporter可从节点导出指标,Kube-state-metrics可以为所有k8s对象生成指标。

 

Prometheus Github repo:

https://github.com/helm/charts/tree/master/stable/prometheus

 
然而,Prometheus缺少用户界面,因此需要Grafana,这是一个数据可视化工具。它能够连接到Prometheus server,提供监控用的图表和dashboard。

 

Grafana Github repo:

https://github.com/helm/charts/tree/master/stable/grafana
 

持久化存储

 

在Kubernetes里的一切都是动态的和无状态的,这违背了传统存储方案的原则。因此,选择一个可行的持久化存储方案是你将面临的其中一个难题。市场上有许多流行的解决方案,如Ceph、Rook、StarageIO以及Portworx。

 

其中,Portworx具有数据移动性、高可用性、独立性、持久卷的动态加密配置。在worker节点上,我们建议anotherdisk(vmdk)通过Portworx创建存储池。Portworx配备了名为stork的智能调度程序,可以通过仅在几个工作节点上安装Portworx来节省许可成本。

 

你可以使用这个helm chart部署Portworx:

https://github.com/portworx/helm/tree/master/charts/portworx
 

容器安全

 

容器安全在一直不断发展,由于pod的动态特性,让容器内发生的所有进程和通信具有可见性和可控制变得至关重要。Neuvector可以提供主机和pod的连续运行时保护,它可以通过扫描Kubernetes集群、节点、pod以及容器镜像来保护容器不受安全漏洞的影响。此外,还有一个附带的优势是能够为集群提供docker和kubernetes基准。它还能通过学习pod/service的良好行为来成为网络防火墙,并且基于此动态创建安全策略。当service在“保护模式”中时,它能够防止任何未经授权的进程或网络通信为该pod或服务运行。

 

你可使用这个helm chart 部署 Neuvector:

https://github.com/neuvector/neuvector-helm
 

负载均衡

 

一旦应用程序部署在K8S集群中后,有几个选项可以将它们暴露到集群外部。另一个需要考虑的因素是,如果你是将应用程序从传统基础架构迁移到容器中来,并且希望保留回滚的状态或想要在传统环境中保留现在已经迁移到K8S集群中的服务。

 

AVI Networks可以提供软件定义的负载均衡器,它有一个控制平面和一个服务平面。这一负载均衡器提供负载均衡、流量管理、弹性伸缩以及端到端的自动化K8S服务。AVI在K8S云上将服务引擎部署为PODS,它可以处理南北流量(即客户端和服务器之间的流量),以及K8S服务的负载均衡。

 
每次在K8S云中创建ingress时,AVI都配置了DNS服务器和IPAM池,可以自动创建虚拟服务。它将从IPAM分配一个IP,创建一个DNS入口并且配置后端的pod池。AVI同时能够通过ingress的注释添加各种HTTP策略以及网络安全策略的功能。
 

CI/CD工具

 

由于所有东西及其依赖项都被打包到容器中,因此Kubernetes可以使得持续部署成为现实,它还能从特定的工作节点中调度工作负载。而滚动更新策略可以零停机执行持续部署。

 

젠킨스는 Gitlab, 넥서스, JFrog의 artifactory, SonarQube, Neuvector, Fority, 투구와 목장과 완벽한 CI / CD 조립 라인을 형성하기 위해 통합을 제공 아주 좋은 지속적인 통합을위한 도구 및 구축 미러링입니다.

 

투구 패키지 원하는 응용 프로그램 포드, 서비스, secert, 침투, 영구 저장소를 포함하여 차트에 전체 애플리케이션 스택. 투구는 서로 다른 환경에서 동일한 경우에 배치 상태로 유지됩니다. (아래 참조)
 
는 Kubernetes, 당신은 모두 여기에 필요한 도구를 엔터프라이즈 급 플랫폼을 구축!

도 컨테이너 조립체 (3)
 

모두 모두이는 Kubernetes 플랫폼을 구축 할 수 있도록하는 방법에는 여러 가지가 있습니다, 응용 프로그램의 배포는 지금까지 K8S 클러스터 어느 때보 쉬워진다. 나는 당신에게 관심의 영역을 더 잘 이해하게하고 K8S 클러스터는 기업의 현실이 될 수 있도록 그 어떤 도구 나 플랫폼 알 수 있도록 노력하겠습니다.

추천

출처blog.51cto.com/12462495/2436692