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

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
.cn 域名,1个 12个月
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 【云原生】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搭建和管理企业级网站应用
相关文章
|
1天前
|
Kubernetes 网络安全 Docker
在k8S中,Worker节点加入集群的过程是什么?
在k8S中,Worker节点加入集群的过程是什么?
|
1天前
|
Kubernetes 安全 数据安全/隐私保护
在k8S中,如何保证集群的安全性?
在k8S中,如何保证集群的安全性?
|
1天前
|
Kubernetes 负载均衡 应用服务中间件
在k8S中,ingress是什么?
在k8S中,ingress是什么?
|
1天前
|
存储 Kubernetes 监控
在K8S中,worke节点如何加入K8S高可用集群?
在K8S中,worke节点如何加入K8S高可用集群?
|
1天前
|
Kubernetes 网络协议 应用服务中间件
在K8S中,SVC资源是否支持在K8S集群外部访问?
在K8S中,SVC资源是否支持在K8S集群外部访问?
|
1天前
|
Kubernetes API 网络安全
在K8S中,ingress该如何使用?
在K8S中,ingress该如何使用?
|
1天前
|
Kubernetes 网络架构 容器
在k8S中,外部如何访问集群内的服务?
在k8S中,外部如何访问集群内的服务?
|
1天前
|
存储 Kubernetes 监控
在K8S中,集群相关组件有哪些?
在K8S中,集群相关组件有哪些?
|
11月前
|
存储 Kubernetes API
在K8S集群中,如何正确选择工作节点资源大小? 2
在K8S集群中,如何正确选择工作节点资源大小?
|
Kubernetes Serverless 异构计算
基于ACK One注册集群实现IDC中K8s集群以Serverless方式使用云上CPU/GPU资源
在前一篇文章《基于ACK One注册集群实现IDC中K8s集群添加云上CPU/GPU节点》中,我们介绍了如何为IDC中K8s集群添加云上节点,应对业务流量的增长,通过多级弹性调度,灵活使用云上资源,并通过自动弹性伸缩,提高使用率,降低云上成本。这种直接添加节点的方式,适合需要自定义配置节点(runtime,kubelet,NVIDIA等),需要特定ECS实例规格等场景。同时,这种方式意味您需要自行
基于ACK One注册集群实现IDC中K8s集群以Serverless方式使用云上CPU/GPU资源

热门文章

最新文章

推荐镜像

更多