我可以在没有Istio的情况下独立编译/运行/使用Citadel CA吗?我尝试搜索城堡github,但未找到相关结果。
答案 0 :(得分:1)
您找不到有关城堡的任何东西,因为没有任何东西。我在istio存储库中发现了deployments: 如您所见:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: istio-citadel
namespace: {ISTIO_NAMESPACE}
spec:
replicas: 1
template:
metadata:
labels:
istio: citadel
annotations:
sidecar.istio.io/inject: "false"
spec:
serviceAccountName: istio-citadel-service-account
containers:
- name: citadel
image: {CITADEL_HUB}/citadel:{CITADEL_TAG}
imagePullPolicy: IfNotPresent
command: ["/usr/local/bin/istio_ca"]
args:
- --append-dns-names=true
- --citadel-storage-namespace={ISTIO_NAMESPACE}
- --grpc-port=8060
- --grpc-hostname=citadel
- --self-signed-ca=false
- --signing-cert=/etc/cacerts/ca-cert.pem
- --signing-key=/etc/cacerts/ca-key.pem
- --root-cert=/etc/cacerts/root-cert.pem
- --cert-chain=/etc/cacerts/cert-chain.pem
volumeMounts:
- name: cacerts
mountPath: /etc/cacerts
readOnly: true
volumes:
- name: cacerts
secret:
secretName: cacerts
optional: true
因此,您可以在Kubernetes中使用它而无需整个istio。要使用独立版本,您可以尝试获取docker image from dockerhub:
docker pull istio/citadel:$tag
并尝试使用它。 希望对您有帮助
答案 1 :(得分:1)
我认为是https://github.com/istio/istio/tree/master/security/cmd/istio_ca;如果您拥有可以正常运行的Go构建环境,那么它可能对go install github.com/istio/istio/security/cmd/istio_ca
不起作用。
如果您只是想运行某些程序,则还可以考虑Hashicorp的Vault,它可以作为独立服务直接运行。它包括a module to generate TLS certificates。 (请注意,它的使用方式有点不传统:由于Vault期望服务会在需要秘密时调用Vault,因此它可以在每次服务启动时生成新的(有效的,已签名的)证书;这意味着您将保存和分发证书的问题换成对保险柜进行身份验证的问题。)