AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-127243

Friedrich 'Fred' Clausen's questions

Martin Hope
Friedrich 'Fred' Clausen
Asked: 2021-05-04 16:17:18 +0800 CST

要使用哪个 Kubernetes configmap 符号链接?

  • 2

概括

应该通过..data符号链接还是通过正常路径访问 K8s 配置映射?

细节

我们通过以下方式将 configmap 附加到 pod

...
        volumeMounts:
        - mountPath: /var/opt/app_configs
          name: app-config
          readOnly: true
...
      volumes:
      - name: app-config
        configMap:
          name: app-kubernetes-configmap

然后,似乎在 pod 中,我们可以通过以下任一方式访问配置文件

  • 使用 Kubernetes 符号链接 -/var/opt/app_configs/..data/app-config.yaml
  • 配置文件的“正常”路径 -/var/opt/app_configs/app-config.yaml

推荐什么?

kubernetes
  • 1 个回答
  • 1159 Views
Martin Hope
Friedrich 'Fred' Clausen
Asked: 2021-04-26 19:59:50 +0800 CST

新的 Kubernetes IngressClass 资源,仅指定 IngressClassName(nginx 入口控制器)

  • 1

概括

我指定了一个IngressClassName没有相应IngressClass资源的资源,它出乎意料地工作正常;我的理解是您还需要定义IngressClass资源。以前我们使用基于注释的方法kubernetes.io/ingress.class,所以我正在迁移到新的方法。

细节

我对上述文档的阅读让我想如果你设置IngressClassName如下

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
  labels:
    app: example-service.example.com
    manager: nginx-ingress-controller
  name: example
spec:
  ingressClassName: example-com-public
  rules:
  - host: example-service.example.com
    http:
      paths:
      - backend:
          serviceName: example-service
          servicePort: 8080
        path: /

然后需要有一个IngressClasswith name example-com-public。但是,在我们的集群中,情况并非如此,因为我们正在从旧的仅注释方法迁移。然而一切正常。看来我们可能不需要创建 IngressClass 资源?

kubernetes
  • 1 个回答
  • 1334 Views
Martin Hope
Friedrich 'Fred' Clausen
Asked: 2020-10-23 16:45:33 +0800 CST

Kops:调整现有的 Kubernetes 存储类

  • 1

概括

如何在 Kops 中调整现有存储类或创建新存储类?

背景

我们有一个gp2设置了存储类的 Kops 配置集群。我们需要该volumeBindingMode: WaitForFirstConsumer集合,以便需要多个卷的 pod 将它们全部放在同一个 AZ 中;否则我们会得到不可调度的 pod,因为底层 EBS 卷位于不同的可用区。

或者,我可以使用 kubectl 手动创建一个新的存储类,但 Kops 文档并不清楚该过程

kubernetes kops
  • 1 个回答
  • 387 Views
Martin Hope
Friedrich 'Fred' Clausen
Asked: 2020-03-06 01:29:25 +0800 CST

刷新 AWS 临时凭证

  • 6

我们对 AWS 使用身份验证流程,您可以通过该流程进行身份验证、执行 MFA 步骤,然后获得有效期为一小时的凭证。通常这些然后放入~/.aws/credentials。但是,在执行长时间运行的 awscli 操作(例如通过 复制大文件)时aws s3 cp ...,凭据会过期并且命令不会成功完成。

我们已尝试重新运行命令以重新进行身份验证并因此重新填充,~/.aws/credentials但是正在进行的命令不会“看到”这一点,并且在原始凭据到期时仍然会失败。

这个应该怎么处理?

amazon-web-services aws-cli
  • 1 个回答
  • 4342 Views
Martin Hope
Friedrich 'Fred' Clausen
Asked: 2019-05-24 20:53:53 +0800 CST

Coredns 仅解析默认命名空间的集群地址

  • 1

概括

我只能为default命名空间解析主机名。来自和针对其他名称空间的请求,例如kube-system,从 coredns 返回 NXDOMAIN。是否需要进行一些授权?

细节

除了使用 VirtualBox 而不是 GCP 之外,我已经通过艰难的方式遵循 Kubernetes来建立一个学习集群。除了非默认命名空间中的 DNS 查询外,其他所有方法似乎都有效。更具体地说:

  • 作品(从默认命名空间运行):kubernetes.default
  • 不起作用(从 kube-system 命名空间运行,获取 NXDOMAIN):kubernetes.kube-system

配置

我已升级到 Coredns 1.12,因为 1.2.2 大约 50% 的时间都无法解决任何问题。对于 1.12 请求,100% 的时间解析(如果在default命名空间中)。

我必须通过删除“循环”和“代理”(用转发替换代理)插件来编辑配置(在配置映射中)以使其正常工作。我的配置如下:

    .:53 {
        forward . 192.168.99.254:53 # dnsmasq on host machine
        log
        errors
        health
        kubernetes cluster.local in-addr.arpa ip6.arpa {
          pods insecure
          upstream
          fallthrough in-addr.arpa ip6.arpa
        }
        prometheus :9153
        cache 30
        reload
        loadbalance

故障排除

按照本指南,我看到:

豆荚运行正常

$ kubectl get pods --namespace=kube-system -l k8s-app=kube-dns
NAME                       READY   STATUS    RESTARTS   AGE
coredns-6f8fb48d88-dz9cd   1/1     Running   0          14m
coredns-6f8fb48d88-s5rvp   1/1     Running   0          14m

检查控制台我看到了健康的日志记录

2019-05-24T04:41:13.990Z [INFO] plugin/reload: Running configuration MD5 = 7c717fabd578b2514cf60fee426fabc6
2019-05-24T04:41:13.992Z [INFO] CoreDNS-1.5.0
2019-05-24T04:41:13.992Z [INFO] linux/amd64, go1.12.2, e3f9a80

DNS 服务可用:

 $ kubectl get svc --namespace=kube-system
NAME             TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)         AGE
kube-dns         ClusterIP   10.32.0.10   <none>        53/UDP,53/TCP   18d

端点暴露:

$ kubectl get ep kube-dns --namespace=kube-system
NAME       ENDPOINTS                                                     AGE
kube-dns   10.200.21.33:53,10.200.22.17:53,10.200.21.33:53 + 1 more...   18d

如上所述,DNS 可以工作,但只能来自default命名空间。

kubernetes
  • 1 个回答
  • 611 Views
Martin Hope
Friedrich 'Fred' Clausen
Asked: 2019-05-07 17:24:14 +0800 CST

Kubernetes 聚合证书 - apiserver 客户端身份验证允许的名称

  • 1

我在这个问题中使用的定义:

  • 主 apiserver:核心 kube-apiserver
  • 扩展 apiserver:像 metrics-server 这样的插件

我正在阅读配置聚合层指南,但我不了解主要apiserver 对--requestheader-allowed-names. 在Kubernetes Apiserver 客户端身份验证部分它说:

必须使用其 CN 是 --requestheader-allowed-names 中列出的证书之一的客户端证书建立连接。注意:您可以将此选项设置为空白,如 --requestheader-allowed-names=""。这将向扩展 apiserver 指示任何 CN 都是可接受的。

这听起来像是主要的apiserver 负责设置它。扩展apiserver 肯定会控制这一点并确定什么是可以接受的?为什么要在主apiserver 上配置它呢?即客户端证书通用名称是什么,由扩展apiserver 来接受/拒绝这些?

或者是传递给主要和扩展apiservers的文档部分混合选项?

kubernetes
  • 1 个回答
  • 110 Views
Martin Hope
Friedrich 'Fred' Clausen
Asked: 2017-03-13 16:58:21 +0800 CST

AWS RDS 上的 SQL Server 浏览器服务

  • 0

RDS 是否支持 SQL Server Browser 服务?如果是这样,我该如何启用它?

我们的应用程序需要在 UDP 端口 1434 上运行的 SQL Server Browser 服务。通常的说明不适用,因为这是 AWS RDS 上的托管 SQL Server 实例。AWS RDS 文档似乎没有提到浏览器服务,我查看了 RDS 选项和参数组,但没有任何明显的突出之处可以实现这一点。

更新:我还应该提到,我还添加了一个安全组,允许来自应用服务器的 TCP 1433 和 UDP 1434。TCP 端口 1433 可达。

sql-server amazon-web-services amazon-rds
  • 1 个回答
  • 882 Views
Martin Hope
Friedrich 'Fred' Clausen
Asked: 2017-01-30 21:22:01 +0800 CST

AWS ECR - 获取图像的年龄

  • 0

有没有办法找到推送到 AWS ECR 的 Docker 映像的年龄?

当我请求图像清单时,aws ecr batch-get-image --repository some/repo --image-ids "imageDigest=sha256:abcdef..."它会返回带有嵌入式清单的 AWS 回复。样本输出

{
  "images": [
     {
        "registryId": "1234",
        "imageId": {
          "imageDigest": "sha256:abcdef...",
          "imageTag": "latest"
         }
      },
      "imageManifest": "<serialised JSON I'll paste below>"
      "repositoryName": "some/repo"
     }
    ],
   "failures": []
}

AWS 响应中嵌入的序列化 JSON 看起来是这样的:

{
  "schemaVersion": 2,
  "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
  "config": {
    "mediaType": "application/vnd.docker.container.image.v1+json",
    "size": 123456,
    "digest": "sha256:38f08cc551925935e235c5c94ab3fb89568bd286e3335aa2e05d7bd3ceee4574"
  },
  "layers": [
    {
      "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
      "size": 573764,
      "digest": "sha256:06dde66f337b57adcfca48b87d126b99a249765ccf2e09964584befc2890ae79"
    }
  ]
}

我看不到任何元数据表明此图像何时被推送到 ECR。

amazon-web-services amazon-ecr
  • 1 个回答
  • 302 Views
Martin Hope
Friedrich 'Fred' Clausen
Asked: 2016-06-01 22:51:40 +0800 CST

从 Chef 更改注册表项的权限

  • 0

我正在尝试自动化 Jenkins Windows 从站安装,我需要更改某些密钥的所有者和权限,以便允许管理员用户对某些密钥进行读/写访问。有关详细信息,请参阅Jenkins 文档。

我找到了registry_key资源,但这并没有提到如何调整注册表项的实际权限。我不需要创建/读取/更新或删除密钥 - 只需调整权限。

有没有办法从厨师内部做到这一点?或者,如果没有,有没有办法通过 Powershell 脚本来做到这一点?

windows-server-2008 windows-registry chef
  • 1 个回答
  • 734 Views
Martin Hope
Friedrich 'Fred' Clausen
Asked: 2014-10-22 17:20:21 +0800 CST

自动确定 EC2 实例的负载均衡器

  • 1

有没有办法自动确定给定 EC2 实例的负载均衡器(如果有)是什么?即,让它问“谁是我的LB,它的服务IP是什么?”。我在考虑实例元数据服务,但实例“前面”的 LB 似乎没有在此处列出。

这样做的原因是我想将 ELB 地址(或 DNS 名称)设置为 Chef 节点属性,以便需要知道此外部 IP 的客户端服务自动查询。

amazon-ec2
  • 1 个回答
  • 1144 Views
Martin Hope
Friedrich 'Fred' Clausen
Asked: 2014-08-19 18:12:16 +0800 CST

使用具有特定子网的 Cloud Formation 预置安全组

  • 2

概括

我正在尝试创建一个 AWS CloudFormation 模板,其中包含我要为其选择特定子网的实例。如果我指定子网 ID,则会收到以下错误The parameter groupName cannot be used with the parameter subnet。从阅读此线程看来,我需要提供安全组 ID,而不是名称。如何在 CloudFormation 中创建安全组,然后在事后获取其 ID?

细节

实例配置的相关部分如下

"WebServerHost": {
  "Type" : "AWS::EC2::Instance",
 <..skipping metadata...>
 "Properties": {
    "ImageId" : { "ami-1234" },
    "InstanceType" : { "Ref" : "WebServerInstanceType" },
    "SecurityGroups" : [ {"Ref" : "WebServerSecurityGroup"} ],
    "SubnetId"       : "subnet-abcdef123",

安全组如下所示

"WebServerSecurityGroup" : {
  "Type" : "AWS::EC2::SecurityGroup",
  "Properties" : {
    "GroupDescription" : "Enable HTTP and SSH",
    "SecurityGroupIngress" : [
      {"IpProtocol" : "tcp", "FromPort" : "80", "ToPort" : "80", "CidrIp" : "0.0.0.0/0"},
      {"IpProtocol" : "tcp", "FromPort" : "22", "ToPort" : "22", "CidrIp" : "0.0.0.0/0"}
    ]
  }
},

如何创建并获取该安全组的 ID?

amazon-ec2
  • 1 个回答
  • 7306 Views
Martin Hope
Friedrich 'Fred' Clausen
Asked: 2014-02-25 20:50:58 +0800 CST

Java 和 /etc/resolv.conf DNS 服务器故障转移

  • 4

执行摘要

  • resolv.conf如果第一个失败或超时,Java 是否会查询下一个名称服务器条目?
  • Java 将考虑解析器“关闭”的默认超时是多少?

细节

在/etc/resolv.conf大多数站点中,配置了多个 DNS 服务器供系统使用。如果列表中的第一个 DNS 服务器出现故障,任何人都可以澄清使用 Java 会发生什么吗?例如,想象以下情况resolv.conf:

nameserver 8.8.8.8
nameserver 4.4.4.4

如果 8.8.8.8 变得无法访问,那么 Java 会尝试 4.4.4.4 吗?根据我们的经验,它没有 - 我们看到许多线程在等待解析 DNS 名称,即使备份 DNS 服务器是可访问的。

domain-name-system
  • 2 个回答
  • 8392 Views
Martin Hope
Friedrich 'Fred' Clausen
Asked: 2013-08-15 00:18:37 +0800 CST

Chef Ohai 插件创建 - 创建新的 Mash

  • 0

摘要:为什么我们初始化没有等号、“=”、符号的新混搭?

细节:

我为我们公司的特定数据编写了一个自定义 Ohai 插件,可供各种食谱使用。这很好用,但我不清楚创建新混搭的过程。在Opscode Ohai doc的“使用混搭”部分中,他们按如下方式创建混搭

canhas Mash.new

这行得通。但为什么不是

canhas = Mash.new

所以不知何故,没有等号,“canhas”被分配了一个新的混搭。如果我包含等号,那么我的 Ohai 插件将不起作用 - “canhas”嵌套的混搭/散列项不存在。

chef
  • 1 个回答
  • 430 Views
Martin Hope
Friedrich 'Fred' Clausen
Asked: 2013-07-27 02:28:39 +0800 CST

Chef Java Cookbook - JDK 升级

  • 2

我正在测试Chef Java Cookbook 以将我们的 JDK 安装置于 Chef 管理之下,我想知道如何在安装后使用 Chef Java Cookbook 升级 JDK。

背景

为了指定使用哪种 Java 风格以及版本,我编写了一个包装 Cookbook,我们将其称为“java-wrapper”这个问题,并放置属性来指定哪个 JDK 以及从哪里下载它. 所以,在“java-wrapper/attributes/default.rb”我们有

node.normal["java"]["jdk_version"] = "7"
node.normal["java"]["install_flavor"] = "oracle"
node.normal['java']['jdk']['7']['x86_64']['url'] = "http://localmirror/jdk-7u21-linux-x64.tar.gz"
node.normal['java']['jdk']['7']['x86_64']['checksum'] = "thechecksum"

这将成功安装 JDK 7 更新 21。

问题

如果我随后更新上述属性以使用 JDK 7 update 25,则节点属性会在 Chef 运行后更新,但 Chef Java 食谱不会“注意到”这一点,旧的 JDK 仍然存在。

其他人如何通过 Chef 管理 JDK 并推出更新?我正在考虑的另一种方法是创建一个 RPM(我们在 RHEL 上)并仅使用具有 :upgrade 操作的包资源。

谢谢,

弗雷德。

chef
  • 1 个回答
  • 1768 Views
Martin Hope
Friedrich 'Fred' Clausen
Asked: 2013-06-11 06:33:06 +0800 CST

Chef: "notifies :restart" - 在重新启动服务之前停止看门狗

  • 0

我们正在使用社区 Chef apache2 食谱并取得巨大成功;我的问题围绕着使用“通知”通知机制来告诉 Apache 2 配置更改。

我们运行自定义看门狗实用程序以重启整个应用程序,包括 Apache,如果它变得无响应。此看门狗实用程序查询特定状态 URL 以确定可用性。问题是,如果时机不对并且看门狗在 Chef 重新启动 Apache 时进行健康检查,那么整个应用程序堆栈都会被反弹。

有没有一种方法可以让“通知”机制在运行结束时重新启动 Apache 时关闭看门狗?然后在 Apache 重新启动后再次启动看门狗。

谢谢,

弗雷德。

chef
  • 2 个回答
  • 269 Views
Martin Hope
Friedrich 'Fred' Clausen
Asked: 2013-04-19 01:57:12 +0800 CST

“top”中的休眠进程如何使用一定百分比的 CPU?

  • 4

当我们运行 top 时,我们偶尔会看到一个正在使用 %CPU 的休眠进程“S”;我希望所有休眠进程都使用 0% CPU,因为它们不活动。我希望只有运行的“R”进程会在顶部主动消耗 %CPU。例如,查看这些休眠的 Oracle 进程

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM     TIME+ COMMAND                               
11975 oracle    15   0 16.8g 2.6g 2.6g S  8.9  5.5  56:28.38 oracle                       
 5837 oracle    15   0 16.8g 1.8g 1.7g S  6.6  3.7  10:04.11 oracle                       
12248 oracle    15   0 16.8g 1.6g 1.6g S  5.9  3.4  12:02.33 oracle                       
21253 oracle    15   0 16.8g 1.6g 1.6g S  4.3  3.4  12:33.83 oracle  

我的想法是,CPU 活动(在本例中为 Oracle)由许多低于 Top 1s 时间粒度的短脉冲组成。这意味着使用计数器得到更新,但 Top 看不到“R”状态,因为它太短了。

有什么想法吗?

process
  • 1 个回答
  • 4384 Views
Martin Hope
Friedrich 'Fred' Clausen
Asked: 2012-10-16 04:03:41 +0800 CST

Linux 大页面使用统计

  • 7

我已经配置了 Huge Pages 以与 Java 一起使用,它似乎运行良好,尽管我对 /proc/meminfo 中的会计有疑问。为了显示

# grep HugePages /proc/meminfo 
AnonHugePages:    274432 kB
HugePages_Total:    1008
HugePages_Free:      596
HugePages_Rsvd:      594
HugePages_Surp:        0

我的问题涉及“免费”和“Rsvd”数字 - 为什么它们加起来不等于“总计”1008?他们实际上加起来是 1190。我在这里不明白什么?

memory
  • 1 个回答
  • 7113 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve