gpt4 book ai didi

ubuntu - 在 Istio 中正确定义 mTLS 身份验证策略

转载 作者:行者123 更新时间:2023-12-04 19:08:51 27 4
gpt4 key购买 nike

我正在尝试运行 Istio 在线类(class)中的以下命令集:

设置 Istio 证书颁发机构 (CA)

留言本应用程序的版本 2 使用未启用 Istio 的外部服务(音调分析器)。因此,您将在本实验中全局禁用 mTLS 并仅为内部集群服务之间的通信启用它。

  • 确保 Citadel 正在运行。 Citadel 是 Istio 的集群内证书颁发机构 (CA),是在集群中生成和管理加密身份所必需的。
  • kubectl get deployment -l istio=citadel -n istio-system

    这是预期的输出:

    enter image description here
  • 为 Tone Analyzer 服务定义 mTLS 身份验证策略:
  • cat <<EOF | istioctl create -f -
    apiVersion: authentication.istio.io/v1alpha1
    kind: Policy
    metadata:
    name: mtls-to-analyzer
    namespace: default
    spec:
    targets:
    - name: analyzer
    peers:
    - mtls:
    EOF

    Created config policy/default/mtls-to-analyzer at revision 3934195
  • 确认策略已创建:
  • kubectl get policies.authentication.istio.io

    enter image description here
  • 使用目标规则从留言簿启用 mTLS:
  • cat <<EOF | istioctl create -f -
    apiVersion: networking.istio.io/v1alpha3
    kind: DestinationRule
    metadata:
    name: route-with-mtls-for-analyzer
    namespace: default
    spec:
    host: "analyzer.default.svc.cluster.local"
    trafficPolicy:
    tls:
    mode: ISTIO_MUTUAL
    EOF

    Created config destination-rule/default/route-with-mtls-for-analyzer at revision 3934279

    但是,当我尝试运行第二个命令时遇到以下错误:
    Error: unknown command "create" for "istioctl"

    当我使用“安装”而不是创建时:
    cat <<EOF | istioctl install -f -
    apiVersion: authentication.istio.io/v1alpha1
    kind: Policy
    metadata:
    name: mtls-to-analyzer
    namespace: default
    spec:
    targets:
    - name: Tone Analyzer-qy
    peers:
    - mtls:
    EOF

    我收到以下错误:
    Error: failed to apply manifests: unknown field "peers" in v1alpha1.IstioOperatorSpec:

    谁能提供一些关于如何修改 YAML 以便正确定义 mTLS 身份验证服务的输入?我在第一步得到了正确的预期输出,但在第四步得到了相同的“未知字段”错误。

    最佳答案

    istioctl主要用于安装和调试 istio。

    要创建 istio 对象应该使用 kubectl
    我想你想用的是kubectl而不是 istioctl如下例所示:

    cat <<EOF | kubectl create -f -
    apiVersion: networking.istio.io/v1alpha3
    kind: DestinationRule
    metadata:
    name: route-with-mtls-for-analyzer
    namespace: default
    spec:
    host: "analyzer.default.svc.cluster.local"
    trafficPolicy:
    tls:
    mode: ISTIO_MUTUAL
    EOF

    取决于 Kubernetes 集群的版本 kubectl create可以折旧和 kubectl apply应该在它的位置使用。所以命令看起来像这样。
    cat <<EOF | kubectl apply -f -
    apiVersion: networking.istio.io/v1alpha3
    kind: DestinationRule
    metadata:
    name: route-with-mtls-for-analyzer
    namespace: default
    spec:
    host: "analyzer.default.svc.cluster.local"
    trafficPolicy:
    tls:
    mode: ISTIO_MUTUAL
    EOF

    欲了解更多信息,请查看 Kubernetes documentation .

    希望能帮助到你。

    关于ubuntu - 在 Istio 中正确定义 mTLS 身份验证策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62145156/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com