成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

救命SOS!內網K8s證書過期,我差點上了公司“恥辱墻”……

云計算 云原生
在數字化轉型浪潮下,Kubernetes已成為企業構建私有云、混合云的核心底座。然而,在金融、政務、軍工等強監管行業的私有化交付場景中,一個“隱形殺手”正悄然潛伏——內網證書過期。

引言

在數字化轉型浪潮下,Kubernetes已成為企業構建私有云、混合云的核心底座。然而,在金融、政務、軍工等強監管行業的私有化交付場景中,一個“隱形殺手”正悄然潛伏——內網證書過期。

好的,經過我們上面的說辭,我們本篇就來處理下 K8s 證書過期的相關案例,廢話少說,直接開始。

開始

一、場景痛點與核心挑戰

圖片

典型場景:某金融集團私有化部署的K8s生產集群突現證書過期,導致API Server拒絕連接、kubelet節點失聯。由于以下限制,常規修復手段失效:

網絡隔離:集群部署于客戶內網,禁止任何外網連接

安全合規:必須使用內部CA簽發證書,禁用自簽名和Let's Encrypt

業務SLA:核心交易系統要求99.99%可用性,停機時間需<5分鐘

二、緊急救援:四步離線證書簽發法

步驟1:構建離線應急工具包
# 工具包目錄結構
cert-rescue-kit/
├── bin/
│   ├── cfssl_1.6.4_linux_amd64  # 證書簽發工具
│   ├── cfssljson_1.6.4_linux_amd64
│   └── k8s-cert-checker  # 證書檢查腳本
├── conf/
│   ├── ca-config.json    # CA配置文件
│   ├── ca-csr.json       # 根CSR模板
│   └── apiserver-csr.json  # API Server CSR模板
└── scripts/
    ├── backup-certs.sh   # 證書備份腳本
    └── deploy-certs.sh   # 證書部署腳本

關鍵文件說明

ca-config.json:定義證書類型與有效期

{
  "signing":{
    "default":{
      "expiry":"8760h"
    },
    "profiles":{
      "kubernetes":{
        "usages":["signing","key encipherment","server auth","client auth"],
        "expiry":"8760h"
      }
    }
}
}
步驟2:生成根CA證書(首次部署需操作)
# 生成CA私鑰與證書
./cfssl gencert -initca conf/ca-csr.json | ./cfssljson -bare ca

# 輸出文件:
# ca.pem     # CA證書
# ca-key.pem # CA私鑰(絕密?。?/code>
步驟3:簽發K8s組件證書

API Server證書示例

# 生成私鑰
openssl genrsa -out apiserver.key 2048

# 生成CSR(需替換實際IP和DNS)
./cfssl gencert \
  -ca=ca.pem \
  -ca-key=ca-key.pem \
  -cnotallow=conf/ca-config.json \
  -hostname=10.0.0.1,kubernetes.default.svc,kubernetes.default,localhost,127.0.0.1 \
  -profile=kubernetes \
  conf/apiserver-csr.json | ./cfssljson -bare apiserver

關鍵參數說明

-hostname:必須包含所有API Server的IP和DNS名稱

-profile:匹配ca-config.json中的策略

步驟4:集群證書熱替換
# 1. 備份原證書
./backup-certs.sh /etc/kubernetes/pki

# 2. 部署新證書
cp apiserver.pem /etc/kubernetes/pki/
cp apiserver-key.pem /etc/kubernetes/pki/

# 3. 滾動重啟控制平面組件
systemctl restart kube-apiserver kube-controller-manager kube-scheduler

# 4. 更新kubeconfig證書
sed -i 's/client-certificate:.*/client-certificate: \/etc\/kubernetes\/pki\/apiserver.pem/' /etc/kubernetes/admin.conf

操作風險提示

? 需按順序重啟組件:API Server → Controller Manager → Scheduler

? 生產環境建議逐個節點滾動替換

三、長效機制:自動化證書生命周期管理

方案架構設計

圖片圖片

核心組件選型

組件

功能

推薦工具

證書簽發

創建和管理X.509證書

HashiCorp Vault

輪換控制

監控證書有效期并觸發更新

Cert-Manager + Prometheus

密鑰存儲

安全存儲CA私鑰

Vault KMIP引擎

審計跟蹤

記錄所有證書操作日志

ELK Stack

Cert-Manager自動化配置
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: vault-issuer
spec:
  vault:
    path: pki/sign/k8s-cluster
    server: https://vault.example.com
    caBundle: LS0tLS1CRUdJ...  # Base64編碼的CA證書
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
  name: apiserver-cert
spec:
  secretName: apiserver-tls
  duration: 2160h  # 90天
  renewBefore: 360h # 提前15天續期
  issuerRef:
    name: vault-issuer
    kind: ClusterIssuer
  dnsNames:
    - kubernetes.default.svc.cluster.local
    - k8s-api.example.com

關鍵參數

renewBefore:設置早于證書過期時間觸發續期

duration:證書有效期,需符合企業安全策略

證書監控告警規則
# Prometheus告警規則
-alert:K8sCertificateExpiry
expr:kubelet_server_certificate_expiration_seconds{job="kubelet"}/86400<30
for:10m
labels:
    severity:critical
annotations:
    summary:"證書 {{ $labels.host }} 將在30天內過期"
    description: "證書路徑: {{ $labels.path }}"

四、合規審計與災備設計

審計檢查清單

1. 私鑰安全

  • 所有私鑰文件權限設置為0400
  • 密鑰存儲啟用Vault動態密鑰加密

2. 證書信息合規

# 驗證證書DN信息
openssl x509 -in /etc/kubernetes/pki/apiserver.pem -noout -subject -issuer
# 期望輸出:
# subject=O = k8s-cluster, CN = kube-apiserver
# issuer=O = Internal CA, CN = k8s-root-ca

3. 輪換記錄可追溯

-- 證書操作日志表結構示例
CREATE TABLE cert_audit (
  id INT PRIMARY KEY,
  cert_name VARCHAR(255),
  action_type ENUM('CREATE','UPDATE','REVOKE'),
  expire_date DATETIME,
  operator VARCHAR(64),
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
跨集群災備方案

1. 冷備份證書

# 定期導出證書和密鑰
kubectl get secret apiserver-tls -o jsnotallow='{.data.tls\.crt}' | base64 -d > backup/apiserver-$(date +%Y%m%d).crt

2. 多CA互信架構

# K8s API Server配置多CA
apiVersion: v1
kind: ConfigMap
metadata:
  name: kube-apiserver-ca
data:
  ca-bundle.crt: |
    -----BEGIN CERTIFICATE-----
    # Primary CA
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    # Backup CA
    -----END CERTIFICATE-----

五、實戰案例:某銀行私有云證書事件復盤

背景

? 集群規模:200節點,運行300+微服務

? 故障現象:控制平面證書過期導致調度器失聯

處置過程

1. 緊急處置

  • 通過預置的離線工具包在15分鐘內完成證書替換
  • 使用Ansible劇本批量滾動重啟組件

2. 根因分析

? 原手動管理證書未設置監控告警

? 證書有效期僅設置為1年,未及時續期

3. 改進措施

? 部署Cert-Manager實現全自動輪換

? 建立雙CA互信機制,支持無縫切換

成果

? 證書相關故障MTTR(平均修復時間)從4小時降至5分鐘

? 全年未發生證書過期導致的業務中斷

六、總結與資源

核心要點

緊急救援:標準化離線工具包 + 熱替換腳本

長期治理:自動化輪換 + 雙活CA架構

合規審計:密鑰生命周期全記錄 + 定期穿透測試

資源推薦

HashiCorp Vault K8s指南[1]

Cert-Manager官方文檔[2]

K8s證書管理白皮書[3]

立即行動

# 獲取離線應急工具包
git clone https://github.com/k8s-cert/rescue-kit.git
cd rescue-kit && ./init.sh

通過這套方案,你的K8s集群將具備軍工級證書管理能力,從容應對最嚴苛的私有化交付場景。

責任編輯:武曉燕 來源: 云原生運維圈
相關推薦

2022-12-28 10:52:34

Etcd備份

2022-04-22 13:32:01

K8s容器引擎架構

2023-11-06 07:16:22

WasmK8s模塊

2020-07-22 09:25:11

DockerK8S云計算

2025-03-19 08:00:08

2023-09-06 08:12:04

k8s云原生

2024-12-06 08:00:00

K8s

2020-05-12 10:20:39

K8s kubernetes中間件

2022-09-05 08:26:29

Kubernetes標簽

2025-03-19 08:01:10

Kubernetes集群源碼

2023-05-25 21:38:30

2023-08-03 08:36:30

Service服務架構

2023-08-04 08:19:02

2020-02-04 16:37:17

k8s 相關應用

2019-11-14 09:55:39

K8S架構微服務

2024-03-27 14:54:21

KubernetesK8S集群

2024-01-26 14:35:03

鑒權K8sNode

2021-04-12 20:42:50

K8S端口內存

2023-03-05 21:50:46

K8s集群容量

2023-09-03 23:58:23

k8s集群容量
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久国产精品一区 | 久久国产精品一区二区三区 | 国产成人精品一区二区三区网站观看 | 欧美精品日韩精品国产精品 | 久久大陆 | 成人免费视频网站在线看 | 久久成人国产 | 热99精品视频 | 中文av字幕 | 精品国产一区三区 | 精品一区二区三区在线观看国产 | www日本在线观看 | 亚洲国产自产 | 日韩一区二区三区在线观看 | 久久国产一区二区三区 | www.免费看片.com | 日韩精品三区 | 日韩精品av一区二区三区 | 我想看一级黄色毛片 | 久久51| 亚欧午夜| 亚洲一区二区三区四区五区中文 | 亚洲视频一区二区三区四区 | 美女黄18岁以下禁止观看 | 国产亚洲精品久久久优势 | 中文字幕成人网 | 免费麻豆视频 | 亚洲欧美日韩电影 | 二区亚洲 | 久久精品色欧美aⅴ一区二区 | 国产成人精品一区二区 | 国产高清视频在线 | 中文字幕乱码一区二区三区 | jav成人av免费播放 | 亚洲综合99 | 久久精品无码一区二区三区 | 91免费看片 | 秋霞国产| 欧美中文字幕一区二区三区 | 国产精品免费观看 | 欧美成人a∨高清免费观看 色999日韩 |