kubernetes 常见架构图

简介: kubernetes 常见架构图

kubernetes 常见架构图

网络异常,图片无法展示
|

网络异常,图片无法展示
|

二、Openshift or Kubernetes 集群架构图

网络异常,图片无法展示
|

三、常见的 CI/CD 架构图

1、Gitlab Webhook + Jenkins SharedLibraries/Kubernetes + SonarScanner Maven Plugin

网络异常,图片无法展示
|

2、Gitlab CI/CD Workflow

网络异常,图片无法展示
|

3、Logging

网络异常,图片无法展示
|

4、Logging 与 Metrics

网络异常,图片无法展示
|


K8S 介绍


kubernetes 简称 k8s,是谷歌开源的容器集群管理系统,用于自动部署、扩展和管理容器化(containerized)应用程序。K8S 提供哪些功能


服务发现与调度负载均衡服务自愈服务弹性扩容


K8S 特点


可移植: 支持公有云,私有云,混合云可扩展: 模块化, 插件化, 可挂载, 可组合自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展


K8S 几个重要概念


Namespaces:命名空间,Kubernetes 使用 Namespaces 隔离多个虚拟环境,比如:生产环境、预发环境、开发环境,又或者项目一、项目二、项目三,根据使用方式来自定义不同的环境来做资源 隔离。


如何创建一个 Namespaces 呢?


第一种,使用命令创建:


kubectl create namespace new-ns#或者使用简写:kubectl create ns new-ns


第二种,通过文件方式创建


vim my-ns.yaml


输入以下


apiVersion: v1kind: Namespacemetadata:  name: new-ns


运行命令


kubectl create -f ./my-ns.yaml


如何删除已经存在的 Namespaces 呢?


kubectl delete namespaces new-ns#或者使用简写:kubectl delete ns new-ns


Pod:是 Kubernetes 创建或部署的最小/最简单的基本单位,一个 Pod 上可以跑一个或多个服务。


Deployment:控制器,为 Replica Set(升级版的 Replication Controller)提供声明式更新。简单来说就是用它来控制 Pod 的创建、更新、删除。


编排文档参考:


apiVersion: apps/v1kind: Deploymentmetadata:  name: nginx  namespace: new-nsspec:  serviceName: "nginx-service"  replicas: 2  selector:    matchLabels:      app: nginx  template:    metadata:      labels:        app: nginx    spec:      containers:      - name: nginx        image: k8s.gcr.io/nginx:v1        ports:        - containerPort: 80


StatefulSet:也是控制器或有状态服务,不仅能管理 Pod 对象,还能确保这些 Pod 的顺序性和一致性。


编排文档参考:


apiVersion: apps/v1kind: StatefulSetmetadata:  name: nginx  namespace: new-nsspec:  serviceName: "nginx-service"  replicas: 2  selector:    matchLabels:      app: nginx  template:    metadata:      labels:        app: nginx    spec:      containers:      - name: nginx        image: k8s.gcr.io/nginx:v1        ports:        - containerPort: 80


Service:提供负载均衡的能力,有四种类型:ClusterIp,NodePort,LoadBalancer,ExternalName。


编排文档参考:


apiVersion: v1kind: Servicemetadata:  name: nginx-svc  namespace: new-ns  labels:    app: nginx-svcspec:  ports:    - port: 80      name: server      targetPort: 80  type: ClusterIP  clusterIP: None  selector:    app: nginx


Ingress:相当于一个 7 层的负载均衡器,是 k8s 对反向代理的一个抽象。工作原理类似 Nginx 的反向代理。


编排文档参考:


apiVersion: networking.k8s.io/v1kind: Ingressmetadata:  name: nginx-ing  namespace: new-ns spec:  rules:  - host: xxx.xxx.com    http:      paths:      - path: /        backend:          serviceName: nginx-svc          servicePort: server


相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
17天前
|
Kubernetes API 调度
k8s 到底是什么,架构是怎么样的?
Kubernetes(k8s)是Google开源的容器集群管理系统,它通过YAML文件自动化应用部署、扩展和管理。k8s架构包含控制平面(API Server、Scheduler、Controller Manager和etcd)和工作节点(Node,含kubelet、Container runtime、Kube Proxy等)。控制平面负责调度和管理,Node执行任务。kubectl是命令行工具,用于与k8s交互。k8s通过Ingress暴露服务,并通过Pod作为最小调度单位管理容器。Docker通常与k8s结合使用,提供容器化应用,但二者并非同一概念。
47 4
k8s 到底是什么,架构是怎么样的?
|
1月前
|
存储 Kubernetes 负载均衡
Kubernetes的“厨房”:架构是菜谱,组件是厨具,资源对象是食材(下)
本文深入探讨了Kubernetes(K8s)的架构、核心组件以及资源对象。Kubernetes作为一个开源的容器编排系统,通过其独特的架构设计和丰富的组件,实现了对容器化应用程序的高效管理和扩展。通过本文的介绍,读者可以深入了解Kubernetes的架构、核心组件以及资源对象,从而更好地应用和管理容器化应用程序。Kubernetes的灵活性和可扩展性使得它成为容器编排领域的领先者,为企业提供了强大的容器运行环境。
|
1月前
|
Kubernetes 开发者 Docker
构建高效微服务架构:Docker与Kubernetes的完美搭档
【2月更文挑战第29天】在当今快速发展的软件开发领域,微服务架构已成为提高系统可维护性、扩展性和敏捷性的关键解决方案。本文将深入探讨如何利用Docker容器化技术和Kubernetes集群管理工具,共同构建一个既高效又可靠的微服务环境。我们将分析Docker和Kubernetes的核心功能,并展示它们如何协同工作以简化部署流程、增强服务发现机制以及实现无缝的服务伸缩。通过实际案例分析,本文旨在为开发者提供一套实用的微服务架构设计和实施指南。
|
1月前
|
Kubernetes API 调度
Kubernetes的“厨房”:架构是菜谱,组件是厨具,资源对象是食材(上)
本文深入探讨了Kubernetes(K8s)的架构、核心组件以及资源对象。Kubernetes作为一个开源的容器编排系统,通过其独特的架构设计和丰富的组件,实现了对容器化应用程序的高效管理和扩展。通过本文的介绍,读者可以深入了解Kubernetes的架构、核心组件以及资源对象,从而更好地应用和管理容器化应用程序。Kubernetes的灵活性和可扩展性使得它成为容器编排领域的领先者,为企业提供了强大的容器运行环境。
|
2月前
|
开发者 Docker 微服务
深入浅出:使用Docker容器化部署微服务架构
在当今快速迭代的软件开发环境中,微服务架构因其高度解耦和独立性而成为企业首选。然而,微服务的管理和部署可能会变得复杂和繁琐。本文将探讨如何利用Docker,一个轻量级的容器化技术,来简化和加速微服务的部署。我们将从Docker的基础概念入手,详细介绍如何创建、配置和运行微服务容器,最后讨论Docker在微服务架构中的优势和挑战。本文旨在为开发者提供一条清晰的路径,通过容器化技术实现微服务架构的高效部署和管理。
87 0
|
2月前
|
Kubernetes 开发者 Docker
深入浅出:使用Docker容器化部署微服务架构
在当今快速演进的软件开发领域,微服务架构因其高度的模块化和可伸缩性而受到广泛欢迎。然而,微服务的部署和管理也带来了新的挑战。本文旨在通过深入浅出的方式,探讨如何利用Docker容器技术有效地部署和管理微服务架构。我们将从Docker的基本概念出发,逐步深入到如何构建、部署微服务,并讨论在此过程中可能遇到的常见问题及其解决策略。本文不仅适合刚接触Docker和微服务的新手,也为有经验的开发者提供了实用的参考。
56 1
|
2月前
|
JSON JavaScript Docker
深入浅出:使用Docker容器化部署微服务架构
本文旨在向读者展示如何利用Docker技术高效地构建和部署微服务架构。通过深入浅出的方式,我们将探索Docker的基本概念、容器化的优势以及如何将其应用于微服务架构中。此外,文章还将提供一个简单的示例,指导读者实践如何使用Docker将一个现有的后端应用容器化,并部署到本地开发环境中。不同于传统的摘要,这里我们强调实践操作的重要性,鼓励读者通过实际操作来加深对Docker和微服务架构的理解。
52 1
|
2月前
|
Java 开发者 Docker
深入浅出:使用Docker容器化部署微服务架构
在本文中,我们将探索Docker容器技术如何革新微服务架构的部署方式,提高开发效率和应用的可扩展性。不同于传统摘要的概述风格,我们将通过一个实际案例,步骤明晰地展示如何将一个简单的微服务应用容器化,并在Docker环境中部署运行。本文旨在为开发者提供一个清晰、易懂的指南,帮助他们理解容器化技术的基本原理和操作流程,无论是初学者还是有经验的开发人员都能从中获益。
|
2月前
|
存储 Kubernetes Docker
深入浅出:使用Docker容器化部署微服务架构
在当今快速迭代的软件开发周期中,微服务架构凭借其高度的模块化和灵活性成为了众多企业的首选。然而,随之而来的是对环境一致性和服务部署效率的挑战。本文将探讨如何利用Docker这一轻量级容器技术,实现微服务的快速、一致和可靠部署。通过深入浅出的方式,我们将介绍Docker的基本概念、容器化微服务的优势以及步骤详解,旨在为读者提供一个清晰的实践指南,帮助他们在微服务架构的部署过程中提升效率和可靠性。
66 0
|
2月前
|
设计模式 运维 Docker
深入浅出:使用Docker容器化部署微服务架构
本文旨在为读者提供一个全面且易于理解的指南,介绍如何使用Docker技术来容器化部署微服务架构。随着云计算和微服务架构的普及,Docker作为一种轻量级的容器解决方案,已经成为开发和运维领域的热门技术。本文将从Docker的基本概念出发,详细讲解如何将传统的应用服务转化为容器化的微服务,包括Dockerfile的编写、镜像构建、容器部署以及服务编排等关键步骤。此外,文章还会探讨使用Docker部署微服务架构的最佳实践和常见问题,帮助读者有效地管理和优化其微服务系统。
79 1