ASP.Net Core 2.2 Kubernetes Ingress:未找到自定义路径的静态内容
i具有以下intress.yml: apiVersion: extensions/v1beta1 kind: Ingress metadata: name: ingress namespace: default annotations: kubernetes.io/ingress.class: "nginx" nginx.ingress.kubernetes.io/ssl-redirect: "false" nginx.ingress.kubernetes.io/rewrite-target: /$2 labels: app: ingress spec: rules: - host: http: paths: - path: /apistarter(/|$)(.*) backend: service
0 2024-04-15
编程技术问答社区
ASP.NET Core 2.1的cookie认证似乎具有服务器亲和力
我正在在ASP.NET Core 2.1中开发一个应用程序,然后在Kubernetes群集上运行它.我已经使用openIDConnect实施了身份验证,并使用Auth0作为我的提供商. 这一切都很好.用[Authorize]属性将匿名用户标记为身份提供商的操作或控制器,他们登录,重定向,鲍勃是您的叔叔. 当我将部署扩展到2个或更多容器时,问题开始发生.当用户访问应用程序时,他们会登录,并取决于在回调过程中提供的容器,身份验证会成功或失败.即使在身份验证成功的情况下,当用户击中未经授权的容器时,反复将F5-ing重定向到身份提供商. 我对此的思考是,使用cookie Authentication,用户将cookie存储在浏览器中,随着每个请求的通过,应用程序将其解码并抓住JWT,然后从中进行索赔,然后从中删除cookie.并且用户已进行身份验证.这使整个事情变得无状态,因此,无论对请求服务的容器如何,都应该工作.但是,如上所述,它似乎实际上并不是这样起作用的. 我在
0 2024-04-15
编程技术问答社区
为12因子应用程序存储配置的过程是什么?
我一直在构建我的应用程序,主要是作为12因子应用程序,现在正在查看配置部分. 现在,就目前而言,我有单独的配置文件用于开发和生产,并且通过构建过程,我们要么构建开发图像或生产图像.代码为100%相同;唯一改变的是配置. 现在,我100%明白,在12个因素应用程序中,配置应来自外部来源,例如:环境变量,或者也许是一个安全的商店,例如保险库,等等. . 因此,各种文章和博客未提及该配置的内容是如何存储/处理配置.如果代码在其自己的git存储库中分开,并且没有任何配置,那么我们如何处理配置? 我们是否将实际配置值存储在单独的GIT存储库中,然后以某种方式合并/推送/执行目标环境(Kubernetes配置映射,Marathon JSON配置,拱顶等).有点触发? 解决方案 没有标准,但是我一直在观察一些常见行为,例如: 敏感信息永远不会进入版本控制系统,尤其是git dvcs (您可以克隆其他位置的存储库).如果您不遵循,请记住,我们现有的"安全系统"是基于在
2 2024-04-05
编程技术问答社区
亚马逊EKS:通过python脚本生成/更新kubeconfig
使用Amazon's K8S产品时, eks 服务,在某个时候,您需要将Kubernetes API和配置连接到AWS内建立的基础架构.特别是我们需要具有适当凭据和URL的 kubeconfig 才能连接到EKS提供的K8S控制平面. Amazon Commandline工具aws提供了此任务的例程 aws eks update-kubeconfig --kubeconfig /path/to/kubecfg.yaml --name 问题:通过Python/Boto3 进行相同的操作 查看 boto api api Document ,我似乎无法发现上述aws例程的等效物.也许我在看错误的地方. boto中是否有现成的功能实现这一目标? 否则,您将如何直接在Python中进行此操作(除了在子过程中呼唤aws)? 解决方案 没有方法函数可以执行此操作,但是您可以自己构建配置文件: # Set up the cl
4 2024-04-03
编程技术问答社区
Mongodb搜索分片键的速度非常慢
我使用Bitnami的图表设置了一个带有3个碎片的MongoDB:我有两个问题. 我的Sharding Collection拥有超过3800万的记录. 第一个问题是一些mongoDB豆荚需要大量内存,从一个节点中的32G的整个内存中超过10克.我发现了Stackoverflow的一些类似问题,我会尝试解决这个问题. 另一个问题是:当我进行与碎片键匹配的搜索时,它非常慢,有时会超时. 这是我收藏的索引: ice-shard-mongodb-sharded-shard-0:PRIMARY> db.LogInfo.getIndexes() [ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_", "collation" : { "locale" : "en_US",
2 2024-03-31
编程技术问答社区
Bitnami Kafka for Kibernetes-java.net.UnknownHostException: kafka-0.kafka-headless.kafka.svc.cluster.local
我在我的K8群集上安装了Bitnami Kafka.但是我不断看到错误java.net.unknownhostexception:kafka-0.kafka-headless.kafka.kafka.svc.cluster.local in Kafka-o logs. i登录到pod(kafka-o),并为kafka-0.kafka-0.kafka-headless.kafka.kafka.svc.cluster.local.local.local ran nsookup登录,但没有问题就可以解决 root@kafka-0:/# nslookup kafka-0.kafka-headless.kafka.svc.cluster.local Server: 10.43.0.10 Address: 10.43.0.10#53 Name: kafka-0.kafka-headless.kafka.svc.mosip02.local Addres
0 2024-03-31
编程技术问答社区
我们应该运行一个有3个副本的Kafka节点还是3个有1个副本的Kafka节点?
我不明白运行1个带有3个副本的Kafka节点和3个kafka节点之间的区别. 我们要维护自己的kubernetes群集,我们想在其中运行一个kafka群集.我们正在使用我们可以设置: ... 3不同的Kafka服务,带有1个副本,每个副本都有自己的URL(例如Localhost:9092,Localhost:9093和Localhost:9094). ... 1 kafka服务在3个复制品中运行(只有1个URL Localhost:9092用于所有副本). 同步方式有什么区别,什么是配置的更好方法? 解决方案 为了提供高可用性并利用Kafka的并行性用于多个消费者,您应该扩大规模,我建议使用3台服务器. 多个经纪人设置将在同一主题的不同经纪人中传播消息/分区,因此消费者组可以从具有高平行性的不同经纪人那里接收消息. 此外,请注意,复制仅帮助您获得高可用性,因此在服务器故障的情况下,分区replica/s将带头. 对于3个节点群集,我会推荐以2个复制品
0 2024-03-31
编程技术问答社区
使用Bitnami/KeyCloak部署/安装KeyCloak时更新Java堆大小
我在使用kubernetes Pod中使用Bitnami/keyCloak部署/安装KeyCloak时不断获得OutofMemoryError. 2023-02-09 17:33:49,316 ERROR [org.jboss.threads.errors] (build-19) Thread Thread[build-19,5,build group] threw an uncaught exception: java.util.concurrent.RejectedExecutionException at org.jboss.threads.RejectingExecutor.execute(RejectingExecutor.java:38) at org.jboss.threads.EnhancedQueueExecutor.rejectException(EnhancedQueueExecutor.java:2049) a
4 2024-03-31
编程技术问答社区
在集群模式下获取" java.net.inknownhostexception:spark-master"
我试图跟随这个火花文档/a>使用群集模式. 我在命名空间hm-spark的本地kubernetes中部署了火花. helm upgrade \ spark \ spark \ --install \ --repo=https://charts.bitnami.com/bitnami \ --namespace=hm-spark \ --create-namespace \ --values=my-values.yaml my-values.yaml image: registry: docker.io repository: bitnami/spark tag: 3.4.0-debian-11-r1 我得到了kubernetes ip https://127.0.0.1:6443 ➜ kubectl cluster-info Kubernetes control plane is running at https:/
14 2024-03-31
编程技术问答社区
在kubernetes集群外访问bitnami/kafka
我目前正在使用bitnami/kafka映像( Kubernetes Master:1 kubernetes工人:3 在集群中,另一个应用程序能够找到kafka.试图从集群外部访问Kafka容器时,就会发生问题.阅读一点时,我读到我们需要为外部Kafka客户端设置属性" advertied.listener = plainttext://hostname:port_number". 我目前正在引用" values.yaml AdvertiedListeners1:10.21.0.191 和 statefulset.yaml - name: KAFKA_CFG_ADVERTISED_LISTENERS value: 'PLAINTEXT://{{ .Values.advertisedListeners }}:9092' 对于单个kafka实例,它工作正常. 但是对于3个节点kafka群集,我更改了一些配置,如下: value
0 2024-03-31
编程技术问答社区
使用Bitnami/RabbitMQ图表从GitHub安装额外的RabbitMQ插件
目标:为values.yaml文件"> Bitnami提供的RabbitMQ图表,因此插件/a>已准备就绪,并且在运行helm install ... 后可用 以前的解决方案:当前,我使用的stable/rabbitmq-ha图表具有以下values.yaml: extraPlugins: "rabbitmq_message_deduplication" extraInitContainers: - name: download-plugins image: busybox command: ["/bin/sh","-c"] args: [" wget -O /opt/rabbitmq/plugins/elixir-1.8.2.ez/elixir-1.8.2.ez https://github.com/noxdafox/rabbitmq-message-deduplication/releases
12 2024-03-31
编程技术问答社区
用现有的持久化卷要求部署bitnami/mysql helm图
我正在尝试部署 bitnami/mysql minikube . 我正在使用Kubernetes v1.19,Minikube v1.17.1和 helm 3 我创建了一个PVC和PV,如下: kind: PersistentVolumeClaim apiVersion: v1 metadata: name: mysql-pvc spec: storageClassName: standard accessModes: - ReadWriteOnce resources: requests: storage: 3Gi selector: matchLabels: id: mysql-pv ---- kind: PersistentVolume apiVersion: v1 metadata: name: mysql-pv labels: type: local id: mysql-pv
0 2024-03-31
编程技术问答社区
Kubernetes set image缺少资源类型'部署'。
我正在尝试使用以下命令来更新Kubernetes中的图像: kubectl set image deployment/ms-userservice ms-userservice=$DOCKER_REGISTRY_NAME/$BITBUCKET_REPO_SLUG:$BITBUCKET_COMMIT --insecure-skip-tls-verify 但是,当我收到以下错误时: error: the server doesn't have a resource type "deployment" 我检查了我在正确的名称空间中,并且具有名称的吊舱并且正在运行. 我找不到有关此错误的任何有意义的资源. Sidenote:我正在通过Bitbucket和一条管道来进行此操作,这也构建了我要使用的图像. 有什么建议? 解决方案 我怀疑它与用户有关 - 错误消息的帮助不大. @tietjedk是正确的,这只是一个误导性的错误消息.这意味着正在发
0 2024-03-31
编程技术问答社区
从.env文件中创建kubernetes env var secrets
我有一个存储变量在环境变量中的NodeJS应用程序. 我正在使用 dotenv 模块,所以我有一个.env文件喜欢: VAR1=value1 VAR2=something_else 我目前正在设置Bitbucket管道,以将其自动部署到Kubernetes群集. 我对Kubernetes Secrets并不熟悉,尽管我读书 . 我想知道: 是否有一种简单的方法可以发送到docker-container/kubernetes-deployment我在.env文件中定义的所有环境变量/strong> 我希望有一个示例secrets.yml文件或类似的文件,该文件将所有内容从.env中获取,并在容器中的环境变量中进行.但这也可以在Bitbucket管道级别或Docker容器级别中完成.我不确定... 解决方案 步骤1:使用您的.env文件创建一个K8S秘密: # kubectl create secret generic
0 2024-03-31
编程技术问答社区
我怎样才能尾随一个远程二进制文件?
我正在寻找一种流式传输("尾巴")kubernetes Pod上的二进制文件的方法. 我已经尝试过: kubectl exec -it app-service-58697cf7c9-nnzgh -c tcpdumper -- tail -f -c +0 /output.pcap (tcpdumper只是tcpdump周围的一个薄包装器,它作为吊舱中的辅助容器运行). 这个几乎有效.运行此命令时,我可以在本地计算机上查看二进制数据流. 我在这里要做的事情的最终目标是,我想将此二进制PCAP数据流并将其管开到机器上运行的Wireshark.那是不起作用的,这是因为数据并不是吊舱上写的. 虽然这不是Kubernetes,还是数据包捕获.问题似乎是我如何使用tail流式传输此数据;当我以这种方式执行此操作时,tail似乎会添加newline字符.我认为这是因为tail不打算处理二进制数据. 如果我直接在吊舱上运行tcpdump,请将其写入那里的.pcap
2 2024-03-30
编程技术问答社区
kubectl -token=$TOKEN没有以令牌的权限运行。
当我将命令kubectl与--token flag一起使用并指定令牌时,它仍然使用kubeconfig文件的管理员凭据. 这就是我所做的: NAMESPACE="default" SERVICE_ACCOUNT_NAME="sa1" kubectl create sa $SERVICE_ACCOUNT_NAME kubectl create clusterrolebinding list-pod-clusterrolebinding \ --clusterrole=list-pod-clusterrole \ --serviceaccount="$NAMESPACE":"$SERVICE_ACCOUNT_NAME" kubectl create clusterrole list-pod-clusterrole \ --verb=list \ --resource=pods TOKEN=`kubectl get secrets $(ku
0 2024-03-30
编程技术问答社区
Bazel docker容器镜像没有复制文件
我正在尝试模拟 bazel docker contuner图像图像规则但是,由于container_image规则没有复制功能,所以我要使用可用的功能. RUN GRPC_HEALTH_PROBE_VERSION=v0.3.1 && \ wget -qO/bin/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-amd64 && \ chmod +x /bin/grpc_health_probe go_image( name = "go_auth_image", embed = [":go-auth_lib"], visibility = ["//visibility:public"], )
0 2024-03-29
编程技术问答社区
云计算构建Bazel错误。"kubectl工具链没有正确配置,所以无法执行应用"
我正在尝试使用因此,我有这个cloudbuild.yaml文件,该文件由Google Cloud Build执行: steps: - name: gcr.io/cloud-builders/bazel args: ['run', '//:kubernetes.apply'] (//:kubernetes只是一个 在我的本地计算机上运行bazel run //:kubernetes.apply工作正常,但是 尽管Google Cloud Build成功了,但它会记录这些错误.因此,配置不应用于我的kubernetes群集: Target //:kubernetes.apply up-to-date: bazel-bin/kubernetes.apply INFO: Elapsed time: 29.863s, Critical Path: 0.14s INFO: 0 processes. INFO: Build completed successfully
4 2024-03-29
编程技术问答社区
在Kubernetes集群的特定节点上有条件地启动Spring Cloud任务
我正在构建用于批处理处理的数据管道.我发现春季云数据流是一个非常有吸引力的框架.如果没有SCDF和Kubernetes的知识,我不确定是否可以在特定的机器上有条件地启动弹簧云任务. 假设我有两个用于运行批处理过程的物理服务器(服务器A和服务器B).默认情况下,我希望在服务器A上启动我的弹簧云任务.如果服务器A关闭,则应将任务部署在服务器B上.Kubernetes/scdf可以处理这种机制吗?我想知道nodeselector是否应该研究. 解决方案 是的,您可以在启动任务时将deployment.nodeSelector作为部署属性. deployment.nodeSelector是Kubernetes部署属性,因此您需要通过这样的内容: task launch mytask --properties "deployer..kubernetes.deployment.nodeSelector=foo1:bar1,foo2:bar2"
0 2024-03-29
编程技术问答社区
Kubernetes上的批量处理
这里有人在Kubernetes上有关于批处理处理的经验(例如春季批处理)吗?是好主意吗?如果我们使用Kubernetes自动缩放功能,如何防止批处理处理相同的数据?谢谢. 解决方案 这里有人在Kubernetes上有关于批处理处理的经验(例如春季批处理)吗?好主意吗? 对于春季批处理,我们(春季批处理团队)确实在我们在以下谈话中分享的事情有一些经验: cloud cloud cloud cloud cloud in kubernetes on kubernetes kubernetes上的春季批次,由我. 在Kubernetes上运行批处理作业可能很棘手: 可以在处理中间的不同节点上的K8重新安排豆荚 可能会触发cron作业 > etc 这需要在开发人员方面进行其他非平凡的工作,以确保批处理申请容易(对节点故障,POD重新安排等),并且可以在集群环境中进行重复执行. Spring Batch为您提供了这项额外的工作,可能是在K8上运行批处理
0 2024-03-29
编程技术问答社区