flink-kubernetes-operator 相关问题


flink sql 作业抛出 no space left 异常,尽管有足够的空间可用

Flink 版本:1.17.1 环境:EKS Flink Kubernetes Operator Flink SQL 作业,rocksdb 后端的检查点状态小于 10GB。 我们将实例类型从 m5d.2xlarge 更改为 r5d.xl...


子路径 URL 404 上的 Keycloak 运算符

我正在尝试使用 Operator 将 Keycloak 部署到 kubernetes 集群上。 我需要该应用程序存在于“/auth”而不是“/”上。 我正在使用 ingress-nginx 入口控制器并创建入口...


2022年Flink可以支持什么Java版本?

假设我开始一个新的Flink Java项目,如果我寻找“稳定的Flink Java生产体验”,我应该使用哪个版本?官方文档说可以支持...


Flink 1.15 toRetractStream 转换错误:不支持收回流的 Legacy 转换

我正在将 Flink 1.9 升级到 1.15.2,并且使用 Table API 到 Datastream API 转换 (flink-table-api-scala-bridge) 的应用程序出现错误(见下文)。 环境: 弗林克:1.15.2 斯卡拉 2.1...


我们应该在 kubernetes 容器中设置 -Xmx (最大 java 堆大小)吗

TLDR; 为什么要在 kubernetes 应用程序中设置 -Xmx 和 -Xms? 我们继承了一个存在内存不足错误的 kubernetes 应用程序。看起来最初的开发人员设置了 kubernetes 资源限制(....


如何在 kubernetes 上为 keycloak 配置自定义主题

我想在 kubernetes 上的 keycloak 中为登录、注册和忘记密码页面配置自定义主题。 我在 kubernetes 上使用以下 url 和 keycloak 配置。 https://www.ke...


为什么将operator()作为std::function调用不起作用

考虑这个旨在收集字符串序列的小类: 班级问题_t期末 { 私人的: std::vector m_issues; 民众: constexpr void 运算符()(std::string&a...


kubernetes 的 readinessProbe 会阻止启动期间的 Pod 间通信

来自 Kubernetes 文档: 包含报告未准备就绪的容器的 Pod 不会通过 Kubernetes 服务接收流量。 这是否意味着准备就绪探针支持失败...


Flink Timer onTimer 事件 - 它们是否强制重新分配流?

我有 KeyedProcessFunction (名为 Stateless),可以处理每个键的数据(例如事务 id)。 无状态是轻量级的,不使用状态——它只设置计时器一个计时器。 我正在上游阅读


operator new 在哪里以及如何实现?

这可能是一个愚蠢的问题,因为我对 C++ 中运算符的实现还很陌生...... 我已经使用新的运算符/表达式/关键字有一段时间了。但我刚刚注意到有一个fu...


不同 Cilium 配置对 Kubernetes 中 Istio 集成的影响

我正在 Kubernetes 环境中将 Cilium 与 Istio 集成,需要明确特定配置将如何影响此集成。根据Cilium的官方文档,两个关键配置...


Kubernetes 在某个时间范围内记录转储

是否可以获取指定时间段的Kubernetes日志? 我现在能做的就是使用 kubectl logs > dump.log cmd 转储单个 pod 的最后一小时日志。 但是...


使用 kubernetes python 客户端将文件从 pod 复制到主机

我需要使用 kubernetes python 客户端将文件从 pod 复制到主机。它类似于 kubectl cp pod:file file。 我正在测试以下代码:https://github.com/prafull01/Kuberne...


Azure Terraform Kubernetes VMSS 用户分配的身份

我对这个配置和我尝试的一切都迷失了,它根本不起作用。 解释。我有一个用于部署 Azure Kubernetes 集群的 terraform 代码,如下所示: 资源“


AKS LoadBalancer 外部 IP 卡在 <pending>

我使用以下 Terraform 在 Azure 中创建了一个 Kubernetes 集群。 Azure Kubernetes 服务集群是使用应用程序网关创建的,因为我想使用应用程序网关作为入口


如何在 kubernetes 中使用 docker 卷?

我有一个 Docker 卷,它是 PostgreSQL 容器的快照。我想将此卷应用到 Kubernetes Pod 中的 PostgreSQL 容器。有什么方法可以做到这一点吗? 仅供参考,我正在使用他...


为什么node用flannel加入kubernetes集群时没有创建CNI0网桥?

使用 flannel 作为 CNI 插件在 Centos 7 上设置新的 k8s 集群。将工作程序加入集群时,不会创建 CNI0 网桥。 环境是kubernetes 13.2.1,Docker-CE 18.09,F...


如何使用ansible批准kubernetes证书签名请求

我正在使用ansible,并且我已经在我的kubernetes集群中创建了一个有效的CertificateSigningRequest。之后,我需要使用 kubectl 证书批准 myuser 之类的内容来批准它,但使用


即使部署在 kubernetes pod 上,kafka 主题仍然是不可变的吗?

我在 kubernetes pod 上部署了 kafka 主题和模式注册表,我尝试修改/更改 kafka 主题和模式注册表的清单文件,然后模式注册表的行为在


无法让一个 pod 与另一个 pod 通信(Kubernetes 中的 ScrapyRT 通信不起作用)

我正在管理 Kubernetes 集群,并希望 Pod1 对 Pod2 和 Pod3 进行 API 调用(但 Pod1 - Pod3 失败!): Pod1:用于测试连接的 Jupyter Notebook 环境。 Pod2:运行的 Express.js 应用程序...


如何在 Kubernetes 中创建像 Docker Compose 中的 Volume 一样的 Volume?

我是 Kubernetes 新手,并尝试在其中创建卷,就像我们在 Docker Compose 中创建一样。 码头工人组成: 版本:'3' 服务: 我的服务: 容器名称:我的容器 图像:我的图像:...


Kubernetes - 查找没有内存限制的 Pod(或者其内存限制高于请求)

在我的 kubernetes 集群上,与我的内存请求相比,我的 Pod 占用了 15% (~4GB) 的额外 GB 内存。我怀疑这是我的一些节点最近崩溃的原因。我怎样才能...


如何在 Kubernetes 中配置 Express 应用程序以使用出口 Droplet 进行 MongoDB Atlas 连接

我正在尝试设置在 Kubernetes pod 中运行的 Express.js 应用程序以连接到 MongoDB Atlas 数据库。我已经设置了一个出口 Droplet 来控制和记录来自 cl 的出站流量...


在 Kubernetes 部署 yaml 中,为什么我们必须将模板标签与选择器中的部署标签相匹配?

我是 Kubernetes 新手,所以这可能是显而易见的,但是在部署 yaml 中,为什么我们必须在部署元数据中定义标签,然后在模板元数据中定义相同的标签,但是...


多集群Ingress CDN响应标头年龄问题

我们已按照文档将 CDN 添加到我们的多集群入口中,但我们遇到了 Age 响应标头的问题。 (https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-configuration#


istio:使用服务注册表发出内部 HTTPS 请求

我们正在使用 kubernetes (1.17.14-gke.1600) 和 istio (1.7.4) 我们有多个部署需要使用公共 DNS 记录 (mydomain.com) 相互发出 HTTPS 请求。这里的目标是...


刷新 AWS ECR 注册表的令牌

我有一个用于部署docker镜像的helm图表。我使用以下命令将秘密配置到 kubernetes 中: apt-get 安装 docker sudo apt-get install python python3-pip aws ecr get-login-password --region us-...


如何在 Kubernetes multipod 部署中使用 spring kafka 处理 Kafka 容器生命周期

我正在使用 Spring kafka 实现,我需要通过 REST API 启动和停止我的 kafka 消费者。为此,我正在使用 KafkaListenerEndpointRegistry endpointRegistry 端点注册表。


Keycloak infinispan 缓存配置在启动时更改,无需重建

我们正在 Kubernetes 上运行 Keycloak 21.1.2,使用 DNS_PING 和无头服务来发现集群中的节点。在构建 Keycloak 映像时,我们将缓存配置文件位置设置为...


在 nginx 入口中打开 TCP 连接

我在通过 nginx-ingress 打开 TCP 连接时遇到问题。 所以我的目标是我想在我的 Kubernetes 集群上使用 Nginx-Ingress 在端口 9000 上打开 Clickhouse TCP 连接。 到目前为止,我可以...


如何在查询中使用两个不同的项目

我已经开始使用 Prometheus / Grafana。我有一些来自 Kubernetes 集群的数据想要通过仪表板进行显示。特别是对于持久卷声明,我想显示当前的免费


K8s 上的 Postgres:mkdir:无法创建目录“/bitnami/postgresql/data”:初始化 PostgreSQL 数据库时权限被拒绝

我正在使用 zammad helm 在我的 Kubernetes 集群(裸机)上启动 zammad。它使用 bitnami postgreSql 图表来配置 Postgres 数据库。 问题是每当我用 --set



无法让一个 Pod 与另一个 Pod 通信(Pod 间通信不起作用)

我正在管理 Kubernetes 集群,并希望 Pod1 对 Pod2 和 Pod3 进行 API 调用(但 Pod1 - Pod3 失败!): Pod1:用于测试连接的 Jupyter Notebook 环境。 Pod2:运行的 Express.js 应用程序...


如何在 kubernetes 中使用 yaml 文件删除并重新创建 pod

我有一个 yaml 文件,可以用来创建 pod。我正在使用仪表板,因此我只需选择 yaml 文件,它就会创建 Pod。 Pod 将启动容器,容器将运行 docker ...


Istio AuthorizationPoicy 和服务在分离的端口上(不包括端口)

我为我们的 mailhog kubernetes 服务应用了这样的 AuthorizationPolicy,该服务在 80 上发布 HTTP 端口,在 25 上发布 SMTP,以便仅对授权用户重新访问其 HTTP 服务。 api版本:


在 GKE (.NET) 中使用 Workload Identity 时无法获取访问令牌

我已在 GKE 集群上设置了工作负载身份,现在我使用链接到具有适当权限的 IAM SA 的 Kubernetes SA。我检查过,当我使用 IAM SA 密钥文件时,它会得到


如何从管理员读取(数据访问)审核日志中免除 GKE `system:*` 主体?

我想查看针对 Kubernetes API 服务器的读取操作的审核日志,但仅限于我们组织中的主体,并排除 system:* 用户生成管理读取日志。 然而,...


Otel 收集器未从 dotnet 获取日志

我有一个 dotnet 应用程序,可以将日志推送到酒店收集器。在本地,使用 docker compose 一切正常,但是当我尝试在 kubernetes 中运行相同的内容时,我只得到跟踪,但没有日志。 在


连接到 Kubernetes SQL Server Pod。本地测试。内部连接致命错误

我有用于 SQL Server 部署的 yaml 文件。我可以从我的主机访问数据库服务器并查询主数据库。我可以在 SSMS 中使用 localhost,30000 进行连接。 然后我创建了...


Github Action 构建部署 Docker .Net 8 WebApi 失败 - “程序不包含适合入口点的静态‘Main’方法”

我正在尝试完成 Github 操作,以使用 Docker 构建和部署我的 .Net8 Web API 到 Kubernetes。这是我当前用于工作流程的 yml 文件: 名称:部署到 DigitalOcean Kube...


在 AKS 中使用 nginx 入口控制器,并使用工作负载身份从 Key Vault 中提取 TLS 证书终止

我正在将 AKS 与 nginx 入口控制器结合使用。 我正在使用包含 .key 和 .crt 的 kubernetes tls Secret 并将其引用到 ingress.yaml 中 Kubectl 创建秘密 tls $secret_name --key=...


尝试使用 Java 复制文件时出现“java.nio.file.NoSuchFileException”错误

我有一个功能,可以将文件从一个地方复制到另一个临时文件,然后重命名该临时文件。它是一个部署在 kubernetes pod 中的 spring-boot 应用程序。 公共无效副本(最终路径


如何在 kubernetes 中将 pod 从一个节点移动到另一个节点

我有一个位于节点 N1 的 Pod P1。我需要将其移至另一个节点 N2。除了节点选择器之外,还有哪些不同的方法可以做到这一点? 节点选择器: 名称:N1


即使文件是在上一行中创建的,也会出现“java.nio.file.NoSuchFileException”错误

我有一个功能,可以将文件从一个地方复制到另一个临时文件,然后重命名该临时文件。它是一个部署在 kubernetes pod 中的 spring-boot 应用程序。 公共无效副本(最终路径


当我的用例限制我按创建顺序处理消息且只能处理一次消息时,SQS FIFO 队列是否可以有多个使用者?

我有一个将从 SQS 队列中使用的服务,并且该服务的多个实例将在 EC2 或 Kubernetes Pod 上并行运行,以避免单点故障,现在我的队列是...


汇编和模板类

我正在开发一个小项目,并尝试将一些硬编码值用于内联汇编。为此,我使用模板。我创建了一个代码片段来显示我所看到的 #包括 我正在开发一个小项目,并尝试将一些硬编码值用于内联汇编。为此,我使用模板。我创建了一个代码片段来显示我所看到的 #include <iostream> template <size_t T> struct MyClass { size_t myValue = T; void doSomething() { size_t value = T; __asm { mov eax, [T] mov [value], eax } std::cout << value << std::endl; } }; int main() { auto o = new MyClass<999>(); o->doSomething(); return 0; } 事实证明,对于汇编代码,它试图使用数据段而不是“直接将数字粘贴到那里” ; 25 : { push ebp mov ebp, esp push ecx ; 26 : auto o = new MyClass<999>(); push 4 call ??2@YAPAXI@Z ; operator new add esp, 4 ; 14 : size_t value = T; mov DWORD PTR _value$2[ebp], 999 ; 000003e7H ; 26 : auto o = new MyClass<999>(); mov DWORD PTR [eax], 0 mov DWORD PTR [eax], 999 ; 000003e7H ; 15 : __asm ; 16 : { ; 17 : mov eax, [T] mov eax, DWORD PTR ds:0 ; 18 : mov [value], eax mov DWORD PTR _value$2[ebp], eax ; 19 : } ; 20 : std::cout << value << std::endl; 我正在使用 Visual Studio 2015。还有其他方法可以实现此目的吗? 啊,多么可爱又扭曲的问题啊! 我尝试使用 T 初始化 constexpr 变量。结果是相同的 - 从内存加载值。宏可用于将文字传递给内联汇编,但它们与模板不能很好地混合。 使用 T 在类中初始化枚举在理论上应该可行(https://msdn.microsoft.com/en-us/library/ydwz5zc6.aspx提到枚举可以在内联汇编中使用),但是在内联汇编使 Visual Studio 2015 编译器崩溃:-)。 似乎有效的是一个函数模板,它使用模板参数声明一个枚举,然后在内联程序集中使用该枚举。如果必须将其放在模板类中,则可以在类中实例化模板函数,如下所示: #include <iostream> template <size_t T> void dosomething() { enum { LOCALENUM = T }; size_t value = 0; __asm { mov eax, LOCALENUM mov[value], eax } std::cout << value << std::endl; } template <size_t T> struct MyClass { size_t myValue = T; void doSomething() { ::dosomething<T>(); } }; int main() { //dosomething<999>(); auto o = new MyClass<999>(); o->doSomething(); return 0; } 这会产生以下汇编代码: auto o = new MyClass<999>(); 001B1015 mov dword ptr [eax],0 001B101B mov dword ptr [eax],3E7h o->doSomething(); 001B1021 mov eax,3E7h <--- Victory! 001B1026 mov dword ptr [ebp-4],eax 001B1029 mov ecx,dword ptr [_imp_?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A (01B2048h)] 001B102F push offset std::endl<char,std::char_traits<char> > (01B1050h) 001B1034 push dword ptr [ebp-4] 001B1037 call dword ptr [__imp_std::basic_ostream<char,std::char_traits<char> >::operator<< (01B2044h)]


如何查找给定的键是否存在于 std::map 中

我正在尝试检查给定的键是否在地图中,但有些无法做到: typedef 映射::迭代器 mi; 地图米; m.insert(make_pair("f","++--")); 一对 我正在尝试检查给定的键是否在地图中,但有些做不到: typedef map<string,string>::iterator mi; map<string, string> m; m.insert(make_pair("f","++--")); pair<mi,mi> p = m.equal_range("f");//I'm not sure if equal_range does what I want cout << p.first;//I'm getting error here 那么我怎样才能打印p中的内容呢? 使用 map::find 和 map::end: if (m.find("f") == m.end()) { // not found } else { // found } 要检查映射中是否存在特定键,请通过以下方式之一使用 count 成员函数: m.count(key) > 0 m.count(key) == 1 m.count(key) != 0 map::find的文档说:“另一个成员函数map::count可用于仅检查特定键是否存在。” map::count的文档说:“因为地图容器中的所有元素都是唯一的,所以该函数只能返回1(如果找到该元素)或零(否则)。” 要通过您知道存在的键从映射中检索值,请使用 map::at: value = m.at(key) 与 map::operator[] 不同,如果指定的键不存在,map::at 不会在映射中创建新键。 C++20 为我们提供了 std::map::contains 来做到这一点。 #include <iostream> #include <string> #include <map> int main() { std::map<int, std::string> example = {{1, "One"}, {2, "Two"}, {3, "Three"}, {42, "Don\'t Panic!!!"}}; if(example.contains(42)) { std::cout << "Found\n"; } else { std::cout << "Not found\n"; } } 您可以使用.find(): map<string,string>::iterator i = m.find("f"); if (i == m.end()) { /* Not found */ } else { /* Found, i->first is f, i->second is ++-- */ } C++17 通过带有初始化器的 If 语句进一步简化了这一点。 这样你就可以鱼与熊掌兼得了。 if ( auto it{ m.find( "key" ) }; it != std::end( m ) ) { // Use `structured binding` to get the key // and value. const auto&[ key, value ] { *it }; // Grab either the key or value stored in the pair. // The key is stored in the 'first' variable and // the 'value' is stored in the second. const auto& mkey{ it->first }; const auto& mvalue{ it->second }; // That or just grab the entire pair pointed // to by the iterator. const auto& pair{ *it }; } else { // Key was not found.. } m.find == m.end() // not found 如果您想使用其他API,请找到m.count(c)>0 if (m.count("f")>0) cout << " is an element of m.\n"; else cout << " is not an element of m.\n"; 我想你想要map::find。如果 m.find("f") 等于 m.end(),则未找到密钥。否则,find 返回一个指向找到的元素的迭代器。 错误是因为p.first是一个迭代器,它不适用于流插入。将最后一行更改为 cout << (p.first)->first;。 p 是一对迭代器,p.first 是迭代器,p.first->first 是键字符串。 一张地图对于给定的键只能有一个元素,所以 equal_range 不是很有用。它是为映射定义的,因为它是为所有关联容器定义的,但它对于多重映射更有趣。 template <typename T, typename Key> bool key_exists(const T& container, const Key& key) { return (container.find(key) != std::end(container)); } 当然,如果你想变得更奇特,你可以随时模板化一个函数,该函数也采用已找到的函数和未找到的函数,如下所示: template <typename T, typename Key, typename FoundFunction, typename NotFoundFunction> void find_and_execute(const T& container, const Key& key, FoundFunction found_function, NotFoundFunction not_found_function) { auto& it = container.find(key); if (it != std::end(container)) { found_function(key, it->second); } else { not_found_function(key); } } 并像这样使用它: std::map<int, int> some_map; find_and_execute(some_map, 1, [](int key, int value){ std::cout << "key " << key << " found, value: " << value << std::endl; }, [](int key){ std::cout << "key " << key << " not found" << std::endl; }); 这样做的缺点是想出一个好名字,“find_and_execute”很尴尬,我想不出更好的名字...... map<string, string> m; 检查 key 是否存在,并返回出现次数(map 中为 0/1): int num = m.count("f"); if (num>0) { //found } else { // not found } 检查key是否存在,并返回迭代器: map<string,string>::iterator mi = m.find("f"); if(mi != m.end()) { //found //do something to mi. } else { // not found } 在你的问题中,由坏的operator<<过载引起的错误,因为p.first是map<string, string>,你无法打印出来。尝试这个: if(p.first != p.second) { cout << p.first->first << " " << p.first->second << endl; } 小心地将查找结果与地图“m”的结尾进行比较,因为所有答案都有 上面完成 地图::迭代器 i = m.find("f"); if (i == m.end()) { } else { } 您不应该尝试执行任何操作,例如如果迭代器 i 等于 m.end() 则打印键或值,否则会导致分段错误。 比较 std::map::find 和 std::map::count 的代码,我认为第一个可能会产生一些性能优势: const_iterator find(const key_type& _Keyval) const { // find an element in nonmutable sequence that matches _Keyval const_iterator _Where = lower_bound(_Keyval); // Here one looks only for lower bound return (_Where == end() || _DEBUG_LT_PRED(this->_Getcomp(), _Keyval, this->_Key(_Where._Mynode())) ? end() : _Where); } size_type count(const key_type& _Keyval) const { // count all elements that match _Keyval _Paircc _Ans = equal_range(_Keyval); // Here both lower and upper bounds are to be found, which is presumably slower. size_type _Num = 0; _Distance(_Ans.first, _Ans.second, _Num); return (_Num); } find() 和 contains() 都可以使用。根据文档。两种方法平均时间为常数,最坏情况下为线性时间。 我知道这个问题已经有一些很好的答案,但我认为我的解决方案值得分享。 它适用于 std::map 和 std::vector<std::pair<T, U>>,并且可从 C++11 开始使用。 template <typename ForwardIterator, typename Key> bool contains_key(ForwardIterator first, ForwardIterator last, Key const key) { using ValueType = typename std::iterator_traits<ForwardIterator>::value_type; auto search_result = std::find_if( first, last, [&key](ValueType const& item) { return item.first == key; } ); if (search_result == last) { return false; } else { return true; } } map <int , char>::iterator itr; for(itr = MyMap.begin() ; itr!= MyMap.end() ; itr++) { if (itr->second == 'c') { cout<<itr->first<<endl; } } 如果你想比较成对的地图,你可以使用这个方法: typedef map<double, double> TestMap; TestMap testMap; pair<map<double,double>::iterator,bool> controlMapValues; controlMapValues= testMap.insert(std::pair<double,double>(x,y)); if (controlMapValues.second == false ) { TestMap::iterator it; it = testMap.find(x); if (it->second == y) { cout<<"Given value is already exist in Map"<<endl; } } 这是一项有用的技术。


© www.soinside.com 2019 - 2024. All rights reserved.