K8S 九 安全認證 TLS

目錄

  • 第九章 安全認證
    • 訪問控制概述
    • 認證管理
    • 授權管理 RBAC
      • RBAC
      • Role
          • rules中的參數
          • RoleBinding
    • 9.4 準入控制
  • 其他
    • K8S的TLS是什么(DeepSeek)
      • 1. 加密通信
      • 2. 身份認證(Authentication)
      • 3. 數據完整性
      • K8s 中 TLS 的具體應用
        • **1. API Server 的 TLS 配置**
        • **2. etcd 的 TLS 配置**
        • **3. kubelet 的 TLS 配置**
        • **4. Ingress 的 TLS 配置**
      • **4. 證書管理**
      • **為什么必須使用 TLS?**
      • **總結**

第九章 安全認證

實戰內容參考
K8S 75 kubernetes-1.29 部署 ingress-nginx1.10

訪問控制概述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

認證管理

HTTPS證書認證:基于CA根證書簽名的雙向數字證書認證方式。
這種認證方式是安全性最高的一種方式,但同時也是操作起來最麻煩的一種方式。

在這里插入圖片描述

授權管理 RBAC

在這里插入圖片描述

RBAC

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

Role

在這里插入圖片描述

rules中的參數

在這里插入圖片描述

RoleBinding

在這里插入圖片描述
cr
在這里插入圖片描述

在這里插入圖片描述

實戰

在這里插入圖片描述

在這里插入圖片描述

創建Role和RoleBinding,為devUser用戶授權

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

9.4 準入控制

了解原理
在這里插入圖片描述

當前可配置的Admission Control準入控制如下:

在這里插入圖片描述

其他

K8S的TLS是什么(DeepSeek)

K8S的TLS是什么,怎樣使用(詢問 DeepSeek AI的問題)

Kubernetes(k8s)使用 TLS(Transport Layer Security) 是為了確保集群內外的通信安全,防止數據泄露、篡改和中間人攻擊。以下是 TLS 在 Kubernetes 中的核心作用及具體應用場景:

1. 加密通信

TLS 對 Kubernetes 組件之間的通信進行加密,保護敏感數據(如認證令牌、配置信息、Pod 日志等)不被竊取。

  • 核心場景
    • API Server 與客戶端(如 kubectl):所有通過 HTTPS 的請求和響應均加密。
    • API Server 與 etcd:API Server 與 etcd 存儲集群狀態數據的通信需加密。
    • 節點間通信:kubelet、kube-proxy 與 API Server 的交互需加密。
    • Service 流量:通過 Ingress 暴露的 HTTPS 服務(如 Web 應用)使用 TLS 證書。

2. 身份認證(Authentication)

TLS 證書用于驗證組件或用戶的身份,確保只有授權的實體可以訪問集群資源。

  • 核心場景
    • 組件間認證
      • API Server 驗證 kubelet、scheduler、controller-manager 的客戶端證書。
      • etcd 驗證 API Server 的客戶端證書。
    • 用戶認證
      • kubectl 使用客戶端證書或 Token 向 API Server 證明身份。
    • Service Account:Pod 內應用通過 TLS 證書與 API Server 安全通信。

3. 數據完整性

TLS 確保傳輸的數據未被篡改,防止中間人攻擊(MITM)。

  • 核心場景
    • 配置下發:確保 kubelet 收到的 Pod 定義來自合法的 API Server。
    • Secret 傳輸:加密敏感信息(如密碼、密鑰)的傳輸過程。

K8s 中 TLS 的具體應用

1. API Server 的 TLS 配置

API Server 是集群的“網關”,所有請求必須通過 TLS 加密和認證。

  • 服務端證書:API Server 使用 TLS 證書對外提供 HTTPS 服務。
  • 客戶端證書kubectl、kubelet 等組件需提供有效證書才能訪問 API Server。
# API Server 啟動參數示例(/etc/kubernetes/manifests/kube-apiserver.yaml)
spec:containers:- command:- kube-apiserver- --tls-cert-file=/etc/kubernetes/pki/apiserver.crt     # 服務端證書- --tls-private-key-file=/etc/kubernetes/pki/apiserver.key- --client-ca-file=/etc/kubernetes/pki/ca.crt          # 客戶端 CA 根證書
2. etcd 的 TLS 配置

etcd 存儲集群所有敏感數據,必須通過 TLS 保護。

  • 服務端證書:etcd 使用證書對外提供加密服務。
  • 客戶端證書:API Server 需提供有效證書才能訪問 etcd。
# etcd 啟動參數示例(/etc/kubernetes/manifests/etcd.yaml)
spec:containers:- command:- etcd- --cert-file=/etc/kubernetes/pki/etcd/server.crt      # 服務端證書- --key-file=/etc/kubernetes/pki/etcd/server.key- --client-cert-auth=true                              # 要求客戶端證書認證- --trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt    # 客戶端 CA 根證書
3. kubelet 的 TLS 配置

kubelet 是節點上的代理,需通過 TLS 與 API Server 通信。

  • 服務端證書:kubelet 提供 HTTPS 端點供 API Server 訪問(如日志、exec 功能)。
  • 客戶端證書:kubelet 使用證書向 API Server 認證自己。
# kubelet 配置示例(/var/lib/kubelet/config.yaml)
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
serverTLSBootstrap: true   # 自動生成服務端證書
clientCAFile: /etc/kubernetes/pki/ca.crt
4. Ingress 的 TLS 配置

通過 Ingress 暴露的 HTTPS 服務需配置 TLS 證書。

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: my-ingress
spec:tls:- hosts:- api.example.comsecretName: tls-secret  # 引用存儲證書的 Secretrules:- host: api.example.comhttp:paths:- path: /pathType: Prefixbackend:service:name: gateway-serviceport:number: 80

4. 證書管理

Kubernetes 依賴證書頒發機構(CA)體系管理證書:

  1. 根證書(CA):集群信任的根證書(如 /etc/kubernetes/pki/ca.crt)。
  2. 自動輪換:kubelet 支持自動輪換證書(通過 RotateKubeletServerCertificate 特性)。
  3. 工具支持
    • kubeadm:自動生成集群證書。
    • cert-manager:自動化管理 Ingress 證書(如 Let’s Encrypt)。

為什么必須使用 TLS?

  1. 默認安全要求:Kubernetes 設計時即要求所有生產環境通信必須加密。
  2. 合規性:滿足 GDPR、HIPAA 等數據安全法規。
  3. 防御攻擊
    • 防止集群內部流量被監聽(如同一 VPC 內的其他服務)。
    • 防止 API Server 被未授權訪問(如公網暴露的集群)。
  4. 零信任架構:默認不信任任何組件,所有通信需驗證身份。

總結

Kubernetes 使用 TLS 是構建安全集群的基石,涵蓋加密、認證和完整性三大核心安全需求。無論是集群內部組件通信,還是對外暴露服務,TLS 都是防止數據泄露和未授權訪問的關鍵防線。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/90841.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/90841.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/90841.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

積分兌換小程序Java

某個學校為了激勵學生踴躍參加一些社會實踐活動,會對參與者給予一些校園積分,學生們獲得校園積分后可以使用校園積分在指定的老師那兌換一些學習用具,當前可兌換的物品和對應的積分數量如下:鉛筆1分橡皮2分作業本3分文具盒5分為了…

函數指針示例

使用函數指針來調用 printf。下面是對代碼的詳細解釋&#xff1a;&#x1f4c4; 源代碼解析#include <stdio.h>int main() {int (*myshow)(const char *, ...); // 聲明一個函數指針&#xff0c;指向可變參數函數printf("hello world!\n");myshow printf; /…

不坑盒子突然不見了怎么辦?

如果你安裝后之前一切正常&#xff0c;突然某天在Office的功能區看不到不坑盒子了&#xff0c;這種是插件被禁用了&#xff0c;重裝安裝插件、Office都是不能解決的&#xff0c;必須按下面的方法解決。WPS中1.隨便打開一個文檔&#xff0c;點擊文件-選項-信任中心&#xff0c;最…

Java面試全棧通關:從微服務到AI的技術深度解析

Java面試全棧通關&#xff1a;從微服務到AI的技術深度解析 面試現場&#xff1a;大廠技術終面室 面試官&#xff1a;謝飛機同學&#xff0c;今天我們將從基礎到架構&#xff0c;全面考察你的Java技術棧掌握程度。請真實展示你的技術水平。 謝飛機&#xff1a;&#xff08;挺胸抬…

《Java 程序設計》第 7 章 - 繼承與多態

引言在 Java 面向對象編程中&#xff0c;繼承與多態是兩大核心特性&#xff0c;它們共同支撐了代碼的復用性、擴展性和靈活性。本章將從繼承的基本實現開始&#xff0c;逐步深入到方法覆蓋、訪問控制、抽象類等概念&#xff0c;最終揭示多態的本質與應用。通過大量可運行的代碼…

ksql連接數據庫免輸入密碼交互

ksql連接數據庫免輸入密碼交互1. 使用 .pgpass 文件&#xff08;推薦&#xff09;2. 使用環境變量3. 使用連接字符串4. 修改 ksql 的別名&#xff08;簡化命令&#xff09;5. 注意事項6. 密碼含特殊字符轉義在 Kingbase 中使用 ksql 連接數據庫時&#xff0c;如果希望避免每次手…

UniApp H5 適配 PC 端新姿勢:打造跨設備一致體驗

在移動互聯網蓬勃發展的今天&#xff0c;很多開發者會選擇使用 UniApp 來開發多端應用&#xff0c;尤其是 H5 端&#xff0c;因其無需下載安裝即可訪問的特性&#xff0c;深受用戶喜愛。但 UniApp H5 應用在 PC 端直接打開時&#xff0c;往往會因為屏幕尺寸的巨大差異&#xff…

【MySQL#4】函數 復合查詢 內外連接

&#x1f4c3;個人主頁&#xff1a;island1314 ?? 歡迎關注&#xff1a;&#x1f44d;點贊 &#x1f442;&#x1f3fd;留言 &#x1f60d;收藏 &#x1f49e; &#x1f49e; &#x1f49e; 生活總是不會一帆風順&#xff0c;前進的道路也不會永遠一馬平川&#xff0c;如何面…

C++常見面試題之一

一、語言基礎與內存管理const與constexpr的區別&#xff1f;應用場景&#xff1f; const&#xff1a;運行時常量&#xff0c;修飾變量/函數不可修改。constexpr&#xff1a;編譯期常量&#xff08;C11&#xff09;&#xff0c;用于優化計算&#xff08;如數組大小&#xff09;。…

Golang 語言中的指針介紹

介紹&#xff1a;指針式一種數據類型&#xff0c;用來存儲值的內存地址&#xff0c;為了便于理解&#xff0c;我們也可以把指針未內存地址&#xff0c;指針類型只占用內存4個或 8 個字節&#xff0c;在Golang 語言中&#xff0c;類型名稱加 * 表示改類型的指針類型。指針類型變…

Flink 狀態管理設計詳解:StateBackend、State、RocksDB和Namespace

為什么需要 StateBackend&#xff1f;—— 職責分離原則我們可以用一個銀行的例子來類比&#xff1a;State (如 ValueState, ListState) 就像是你的銀行卡。AbstractKeyedStateBackend 就像是銀行的整個后臺系統&#xff08;包括總服務器、數據庫、風控系統、會計系統等&#x…

櫥柜鉸鏈的革命:炬森精密如何以創新科技重塑家居體驗

在現代化家居設計中&#xff0c;櫥柜不僅是存儲空間的核心&#xff0c;更是生活品質的象征。而作為櫥柜的“關節”&#xff0c;櫥柜鉸鏈的性能直接影響著日常使用的便捷性、安全性和耐久性。然而&#xff0c;許多消費者在櫥柜使用中常遭遇噪音干擾、頻繁松動或早期損壞等痛點&a…

醫療系統國產化實錄:SQL Server國產替代,乙方保命指南

醫療行業的SQL Server替代&#xff0c;和普通業務系統完全不是一個量級——醫囑邏輯嵌套幾十層存儲過程、收費結算小數點錯位能引發醫患糾紛、電子病歷查詢慢一秒醫生直接拍桌子。作為被按在手術臺上的乙方PM&#xff0c;實測四款主流國產庫后&#xff0c;掏心窩子說句實話&…

WAIC 2025 盛大啟幕,深思考邀您解鎖端側 AI 新可能?!

2025 世界人工智能大會今日正式啟幕&#xff0c;深思考人工智能&#xff08;iDeepWise&#xff09;攜端側多模態大模型技術成果登陸展會&#xff0c;與行業伙伴共探端側 AI 發展新機遇。作為專注于類端側多模態大模型領域的創新力量&#xff0c;深思考此次重點展示了 iDeepWise…

MySQL相關概念和易錯知識點(2)(表結構的操作、數據類型、約束)

目錄1.表結構的操作&#xff08;1&#xff09;增加表&#xff08;2&#xff09;查看庫中所有的表&#xff08;3&#xff09;查看表每個列的約束&#xff08;4&#xff09;刪除整張表&#xff08;5&#xff09;刪除某個具體的列&#xff08;6&#xff09;增加某個具體的列&#…

1. Qt多線程開發

目錄方法1.繼承QThread使用案例總結方法2.將qobject對象moveToThread&#xff08;官方推薦&#xff09;使用案例總結方法3.QRunnable QThreadPool使用案例總結方法4.快速線程QtConcurrentQFutureWatcher使用案例總結代碼下載方法1.繼承QThread 需要實現QThread的抽象函數run …

ARM入門學習方法分享

首先認識什么是ARM?ARM公司簡介ARM是Advanced RISC Machines的縮寫&#xff0c;它是一家微處理器行業的知名企業&#xff0c;該企業設計了大量高性能、廉價、耗能低的RISC &#xff08;精簡指令集&#xff09;處理器。 1985年第一個ARM原型在英國劍橋誕生。公司的特點是只設計…

基于springboot的在線數碼商城/在線電子產品商品銷售系統的設計與實現

用戶&#xff1a;數碼產品&#xff0c;限時秒殺&#xff0c;種草分享&#xff0c;新品資訊&#xff0c;留言板&#xff0c;訂單管理&#xff0c;在線客服&#xff0c;購物車&#xff0c;個人中心管理員&#xff1a;個人中心&#xff0c;用戶管理&#xff0c;數碼分類管理&#…

Zookeeper學習專欄(十):核心流程剖析之服務啟動、請求處理與選舉協議

文章目錄前言一、服務端啟動流程1.1 啟動入口類&#xff1a;QuorumPeerMain1.2 集群模式啟動核心&#xff1a;runFromConfig1.3 QuorumPeer線程核心邏輯&#xff1a;run()1.4 關鍵子流程&#xff1a;數據恢復1.5 關鍵設計要點二、請求處理鏈&#xff08;責任鏈模式&#xff09;…

網絡基礎19--OSPF路由業務多區域

一、OSPF多區域必要性單區域問題&#xff1a;LSDB龐大 → 內存占用高&#xff0c;SPF計算開銷大LSA洪泛范圍廣 → 拓撲變化影響全域無法路由匯總 → 路由表膨脹&#xff0c;查找效率低2. 多區域優勢&#xff1a;1. 劃分區域&#xff1a;獨立LSDB&#xff0c;縮小數據庫規模2. 限…