【云原生】k8s核心技术—集群安全机制 & Ingress & Helm & 持久化存储-20230222(上)

本文涉及的产品
.cn 域名,1个 12个月
简介: 【云原生】k8s核心技术—集群安全机制 & Ingress & Helm & 持久化存储-20230222(上)

一、k8s集群安全机制


1. 概述

(1)访问k8s集群的时候,需要经过三个步骤完成具体操作

第一步:认证

第二步:鉴权(授权)

第三步:准入控制

(2)进行访问的时候,过程中都需要经过apiserver,apiserver做统一协调,比如门卫。

访问过程中需要证书、token、或者用户名+密码

如果访问pod,需要serverAccount。

aa6690a2143c484ab551ff236ff8fdb6.png

  • 第一步 认证 传输安全
    *传输安全:对外不暴露8080端口,只能内部访问,对外部使用端口6443
    *认证

客户端身份认证常用方式:

  • https证书认证,基于ca证书
  • http token认证,通过token识别用户
  • http基本认证,用户名+密码认证


第二步 鉴权(授权)

  • 基于RBAC进行鉴权操作
  • 基于角色访问控制


第二步 鉴权(授权)

  • 基于RBAC进行鉴权操作
  • 基于角色访问控制


2. RBAC——基于角色的访问控制

  • 角色
    role:特定命名空间访问权限
    ClusterRole:所有命名空间访问权限


  • 角色绑定
    rolebinding:角色绑定到主体
    ClusterRoleBinding:集群角色绑定到主体


主体

user:用户

group:用户组

serviceAccount:服务账号

d205ba366cbf4712a502e19dde8cca78.png


例子:

09fa75972a72435ca02ba2a4b09b1d15.png


二、Ingress


  1. 把端口号对外暴露,通过IP+端口号进行访问
    使用Service里面的NodePort实现
  2. NodePort缺陷
  • 在每个节点上都会启动一个端口,在访问的时候通过任何节点,通过节点IP+暴露端口号实现访问
  • 意味着每个端口只能使用一次,一个端口对应一个应用
  • 实际访问中都是用域名,根据不同域名跳转到不同端口服务中
  1. Ingerss和Pod关系
  • pod和ingress通过service关联的
  • ingress作为统一入口,由service关联一组pod

33f328f0a5034c4a9540886a408fe33d.png

4、ingress工作流程

7cb9568aae7c4a60a281b35cd74bb859.png

  1. ingress不是k8s内置的,需要部署。
  2. 使用ingress——以nginx为例
    第一步 部署ingress Controller
    第二步 创建ingress规则

6、使用ingress对外暴露应用

(1)创建nginx应用,对外暴露端口使用NodePort

(2)部署ingress controller,详细yaml文件内容参考这篇文章

dcd836bd091d41e388b9f1145841604d.png

c86922b607cb455b941fa150256527d2.png

(3)创建ingress规则

8492a77a165645c6bce237ab307347ee.png

515a989ee4f94d11a66f317a6eabdf24.png

(4)在Windows系统hosts文件中添加域名访问规则

244875b0bb73418785fab2cb7c0a2f07.png

没看懂没关系,详细操作以及yaml文件参考文章通过域名访问服务

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
9天前
|
运维 Cloud Native 安全
云原生技术在现代企业中的应用与挑战####
本文探讨了云原生技术在现代企业IT架构中的关键作用,分析了其带来的优势和面临的主要挑战。通过实际案例分析,揭示了如何有效应对这些挑战,以实现业务敏捷性和技术创新的平衡。 ####
|
6天前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
20天前
|
边缘计算 运维 Cloud Native
浙江省科技进步奖一等奖!阿里云云原生技术实现新突破
科技成果鉴定委员会高度评价该技术,“项目研发难度大,成果创新性强,对促进关键技术进步及自主可控具有重大意义,成果在国内外开源社区产生了广泛影响,并成功应用于互联网、交通、金融、物流、医疗等多个行业。”
|
1天前
|
存储 Kubernetes 关系型数据库
阿里云ACK备份中心,K8s集群业务应用数据的一站式灾备方案
本文源自2024云栖大会苏雅诗的演讲,探讨了K8s集群业务为何需要灾备及其重要性。文中强调了集群与业务高可用配置对稳定性的重要性,并指出人为误操作等风险,建议实施周期性和特定情况下的灾备措施。针对容器化业务,提出了灾备的新特性与需求,包括工作负载为核心、云资源信息的备份,以及有状态应用的数据保护。介绍了ACK推出的备份中心解决方案,支持命名空间、标签、资源类型等维度的备份,并具备存储卷数据保护功能,能够满足GitOps流程企业的特定需求。此外,还详细描述了备份中心的使用流程、控制台展示、灾备难点及解决方案等内容,展示了备份中心如何有效应对K8s集群资源和存储卷数据的灾备挑战。
|
16天前
|
敏捷开发 Kubernetes Cloud Native
阿里云云原生技术为企业提供了一套高效、灵活的解决方案,支持跨云部署与管理
在多云环境中,阿里云云原生技术为企业提供了一套高效、灵活的解决方案,支持跨云部署与管理。通过容器化、服务网格等技术,实现了应用的一致性与可移植性,简化了多云环境下的资源管理和服务治理,帮助企业应对复杂的云环境挑战,加速数字化转型。
29 5
|
13天前
|
消息中间件 Cloud Native 持续交付
云原生技术在现代企业中的应用与优势###
本文深入探讨了云原生技术在现代企业中的具体应用及其带来的显著优势。随着云计算的普及,云原生作为一种新兴的技术架构,正逐渐成为企业数字化转型的关键驱动力。文章将详细介绍云原生的核心概念、主要技术组件以及在实际业务场景中的成功案例,旨在为读者提供一个全面且实用的参考框架,以便更好地理解和应用云原生技术。 ###
|
20天前
|
监控 Cloud Native 持续交付
云原生技术在现代企业中的应用与实践
本文将深入探讨云原生技术如何改变现代企业的运作模式,提升业务灵活性和创新能力。通过实际案例分析,我们将揭示云原生架构的关键要素、实施步骤以及面临的挑战,为读者提供一套清晰的云原生转型指南。
|
20天前
|
边缘计算 运维 Cloud Native
阿里云基于云原生的大规模云边协同关键技术及应用荣获浙江省科学技术进步一等奖
11月22日, 2023年度浙江省科学技术奖获奖成果公布,阿里云与浙江大学、支付宝、谐云科技联合完成的基于云原生的大规模云边协同关键技术及应用获得浙江省科学技术进步一等奖。
|
19天前
|
Cloud Native JavaScript Devops
云原生技术在现代软件开发中的应用与实践
本文将深入探讨云原生技术如何改变现代软件开发的格局。通过分析云原生的核心概念、优势以及在实际开发中的应用案例,我们将了解这一前沿技术如何助力企业快速适应市场变化,提高开发效率和系统稳定性。文章还将提供实用的代码示例,帮助开发者更好地理解和运用云原生技术。
|
21天前
|
边缘计算 运维 Cloud Native
云原生技术的崛起:重新定义软件开发与运维
云原生技术的崛起:重新定义软件开发与运维