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

聊聊 Linkerd Service Mesh 授權策略 (Server & ServerAuthorization)

開發 前端
Server 和 ServerAuthorization 是 Linkerd 中的兩種策略資源, 用于控制對 mesh 應用程序的入站訪問。

[[439865]]

簡介

Server 和 ServerAuthorization 是 Linkerd 中的兩種策略資源, 用于控制對 mesh 應用程序的入站訪問。

在 linkerd 安裝期間,policyController.defaultAllowPolicy 字段用于指定當沒有 Server 選擇 pod 時的默認策略。此字段可以是以下之一:

  • all-unauthenticated: 允許所有請求。這是默認設置。
  • all-authenticated: 允許來自相同或不同集群(使用 multi-cluster)中的 mesh 客戶端的請求。
  • cluster-authenticated: 允許來自同一集群中的 mesh 客戶端的請求。
  • cluster-unauthenticated: 允許來自同一集群中的 mesh 和非 mesh 客戶端的請求。
  • deny: 所有請求都被拒絕。(然后應創建 Policy 資源以允許服務之間的特定通信)。

可以通過在 pod spec 或其命名空間上設置注釋 config.linkerd.io/default-inbound-policy 來覆蓋此默認值。

為 pod & port 配置 Server 后,其默認行為是 deny 流量, 并且必須創建 ServerAuthorization 資源以允許 Server 上的流量。

系列

中文手冊(https://hacker-linner.com)

Server

Server 在與 server 相同的命名空間中的一組 pod 上選擇一個端口。它通常選擇 pod 上的單個端口,但在按名稱引用端口時它可能會選擇多個端口(例如 admin-http)。雖然 Server 資源類似于 Kubernetes 的 Service, 但它增加了多個 Server 實例不能重疊的限制:它們不能選擇相同的 pod/port 對。 Linkerd 附帶了一個 admission controller,試圖防止創建重疊的 server。

當服務器選擇一個端口時,默認情況下會拒絕流量, 并且必須使用 ServerAuthorization 來授權 Server 選擇的端口上的流量。

Spec

Server spec 可能包含以下頂級字段:

field value
podSelector podSelector 選擇相同命名空間中的 pod
port 端口名稱或編號。僅考慮 pod spec 的 ports 中的端口。
proxyProtocol 為入站連接配置協議發現。取代 config.linkerd.io/opaque-ports annotation。必須是 unknownHTTP/1HTTP/2gRPCopaqueTLS 之一。如果未設置,則默認為 unknown

podSelector

這與 Kubernetes 中的 labelSelector 字段相同。屬于此選擇器的所有 pod 都將屬于 Server 組。podSelector 對象必須恰好包含以下字段之一:

field value
matchExpressions matchExpressions 是 label selector 要求的列表。要求是 AND 組合。
matchLabels matchLabels 是 {key,value} 對的映射。

有關更多詳細信息,請參閱 Kubernetes LabelSelector reference。

  • https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/label-selector/#LabelSelector

Server 示例

一個 Server 選擇具有特定標簽的 pod,使用 gRPC 作為 proxyProtocol。

  1. apiVersion: policy.linkerd.io/v1beta1 
  2. kind: Server 
  3. metadata: 
  4.   namespace: emojivoto 
  5.   name: emoji-grpc 
  6. spec: 
  7.   podSelector: 
  8.     matchLabels: 
  9.       app: emoji-svc 
  10.   port: grpc 
  11.   proxyProtocol: gRPC 

一個 Server 選擇帶有 matchExpressions 的 pod,HTTP/2 作為 proxyProtocol,在端口 8080 上。

  1. apiVersion: policy.linkerd.io/v1beta1 
  2. kind: Server 
  3. metadata: 
  4.   namespace: emojivoto 
  5.   name: backend-services 
  6. spec: 
  7.   podSelector: 
  8.     matchExpressions: 
  9.     - {key: app, operator: Invalues: [voting-svc, emoji-svc]} 
  10.     - {key: environment, operator: NotIn, values: [dev]} 
  11.   port: 8080 
  12.   proxyProtocol: "HTTP/2" 

ServerAuthorization

ServerAuthorization 提供了一種向一個或多個 Server 授權流量的方法。

Spec

ServerAuthorization spec 必須包含以下頂級字段:

field value
client client 描述授權訪問 server 的客戶端。
server server 在此授權適用的同一命名空間中標識 Servers

Server

Server 對象必須包含以下字段之一:

field value
name 按名稱引用 Server 實例。
selector selector 選擇在同一命名空間中應用此授權的 server

selector

這與 Kubernetes 中的 labelSelector 字段相同。屬于此選擇器的所有服務器都將應用此授權。 selector 對象必須恰好包含以下字段之一:

field value
matchExpressions matchExpressions 是標簽選擇器要求的列表。要求是 AND 組合。
matchLabels matchLabels 是 {key,value} 對的映射。

client

client 對象必須包含以下字段之一:

field value
meshTLS meshTLS 用于授權 mesh 客戶端訪問服務器
unauthenticated 授權未經身份驗證的客戶端訪問服務器的布爾值。

或者,它還可以包含 networks 字段:

field value
networks 限制此授權適用的客戶端 IP 地址。如果未設置,服務器將選擇默認值(通常為所有 IP 或集群的 pod 網絡)。

meshTLS

meshTLS 對象必須恰好包含以下字段之一:

field value
unauthenticatedTLS 一個布爾值,表示通信不需要客戶端身份。這對于身份控制器非常重要,它必須終止來自尚未擁有證書的客戶端的 TLS 連接。
identities 授權的代理身份字符串列表(通過 MTLS 提供)。* 前綴可用于匹配域中的所有身份。* 標識字符串表示所有身份驗證客戶端都已授權。
serviceAccounts 授權客戶端 serviceAccount 的列表(通過 MTLS 提供)。

serviceAccount

serviceAccount 字段包含以下頂級字段:

field value
name ServiceAccount 的名稱。
namespace ServiceAccount 的命名空間。如果未設置,則使用授權的命名空間。

ServerAuthorization 示例

一個 ServerAuthorization 允許 mesh 客戶端使用 *.emojivoto.serviceaccount.identity.linkerd.cluster.local 代理身份, 即 emojivoto 命名空間中的所有服務帳戶。

  1. apiVersion: policy.linkerd.io/v1beta1 
  2. kind: ServerAuthorization 
  3. metadata: 
  4.   namespace: emojivoto 
  5.   name: emoji-grpc 
  6. spec: 
  7.   # Allow all authenticated clients to access the (read-only) emoji service. 
  8.   server: 
  9.     selector: 
  10.       matchLabels: 
  11.         app: emoji-svc 
  12.   client: 
  13.     meshTLS: 
  14.       identities: 
  15.         - "*.emojivoto.serviceaccount.identity.linkerd.cluster.local" 

一個允許任何未經身份驗證的客戶端的 ServerAuthorization。

  1. apiVersion: policy.linkerd.io/v1beta1 
  2. kind: ServerAuthorization 
  3. metadata: 
  4.   namespace: emojivoto 
  5.   name: web-public 
  6. spec: 
  7.   server: 
  8.     name: web-http 
  9.   # Allow all clients to access the web HTTP port without regard for 
  10.   # authentication. If unauthenticated connections are permitted, there is no 
  11.   # need to describe authenticated clients. 
  12.   client: 
  13.     unauthenticated: true 
  14.     networks: 
  15.       - cidr: 0.0.0.0/0 
  16.       - cidr: ::/0 

一個允許具有特定服務帳戶的 mesh 客戶端的 ServerAuthorization。

  1. apiVersion: policy.linkerd.io/v1beta1 
  2. kind: ServerAuthorization 
  3. metadata: 
  4.   namespace: emojivoto 
  5.   name: prom-prometheus 
  6. spec: 
  7.   server: 
  8.     name: prom 
  9.   client: 
  10.     meshTLS: 
  11.       serviceAccounts: 
  12.         - namespace: linkerd-viz 
  13.           name: prometheus 

 

責任編輯:武曉燕 來源: 黑客下午茶
相關推薦

2021-12-08 17:54:55

架構控制平面

2022-08-21 07:17:16

LinkerdKubernetes服務網格

2021-12-11 22:21:00

服務配置文件

2021-10-31 20:56:25

Mesh ServiceAPI

2021-06-05 10:16:55

Linkerd 服務網格Kubernetes

2021-07-21 05:23:06

Linkerd Emoji.voto服務網格

2014-07-28 14:46:40

Service

2021-10-03 23:45:36

gRPC授權策略

2021-06-12 07:38:21

Linkerd 2.Service Mes微服務

2021-06-10 06:24:41

K8S Service Mesemojivoto

2021-11-09 23:54:19

開發SMI Linkerd

2021-11-08 09:11:17

云計算Service Mes云應用

2020-03-04 09:27:13

Service Mes微服務架構

2024-10-06 12:56:36

Golang策略設計模式

2022-11-07 08:01:18

Git分支管理

2022-07-15 09:20:17

性能優化方案

2021-02-22 17:00:31

Service Mes微服務開發

2020-07-24 10:31:34

未授權訪問漏洞

2021-10-14 18:21:52

架構IstioService

2022-01-27 22:33:35

配置容器穩定性
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 韩国av电影网 | 国产一区久久精品 | 围产精品久久久久久久 | 亚洲视频免费在线观看 | 国产精品久久午夜夜伦鲁鲁 | 欧美一级视频在线观看 | 国产三级一区二区三区 | 视频一区二区中文字幕日韩 | 国产精品不卡一区二区三区 | 激情五月婷婷综合 | 国产精品免费一区二区三区四区 | 北条麻妃99精品青青久久 | 成人妇女免费播放久久久 | 有码在线 | 97在线观看 | 日韩欧美视频 | 激情亚洲 | 狠狠狠色丁香婷婷综合久久五月 | 一区二区视频免费观看 | 一区二区三区影院 | 91视频在线 | 久久久久久久国产 | 99免费在线观看 | 久久精品久久久久久 | 91直接看 | 欧美一级片在线观看 | 九色 在线 | 亚洲欧美在线视频 | 免费精品视频 | 久久精品国产亚洲夜色av网站 | 91影院| 午夜精品一区二区三区在线视频 | 91人人视频在线观看 | 888久久久| 国产亚洲精品精品国产亚洲综合 | 精品国产一二三区 | 久久av一区| 日韩免费1区二区电影 | 91亚洲国产成人久久精品网站 | 国产精品中文字幕在线 | 欧美日韩中文字幕 |