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-190525

CodeChimp's questions

Martin Hope
CodeChimp
Asked: 2020-06-07 09:22:41 +0800 CST

如何向 Kubernetes 添加证书以允许从自定义 Harbor 存储库中提取图像?

  • 2

我正在寻找有关如何添加要在 Pod 本身中使用的证书的各种演练,但我似乎找不到有关如何设置 Kubernetes 以允许自签名证书从内部运行的 Harbor 实例中提取图像的信息集群。我已将 ca 证书导入系统的受信任证书(系统运行的是 Ubuntu 18.04),但我猜 Kubernetes 在某处使用它自己的受信任证书存储,类似于 Java 忽略系统的受信任证书并依赖密钥库文件的方式?

编辑 更具体地说,我要做的是部署一个自定义 Docker 映像,该映像存储在我的 Harbor 实例中,该实例在我的 Kubernetes 集群中运行。我将 Harbor 的证书导入到我的主机系统操作系统中,我可以运行:

docker login <url_to_harbor>
docker pull <url_to_harbor>/library/custom/image:latest

它在 CLI 中运行良好,但如果我尝试像这样创建部署 yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: custom-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: custom
  template:
    metadata:
      labels:
        app: custom
    spec:
      containers:
      - name: custom
        image: <url_to_harbor>/library/custom/image:latest
...

并运行kubectl apply -f custom-deploy.yaml当我得到 pod 时出现以下错误:

custom-deployment-6ff68947f6-8jj2p            0/1     ImagePullBackOff   0          13s

如果我得到关于失败 pod 的描述,我会看到:

  Warning  Failed          18s                kubelet, node3     Failed to pull image "<url_to_harbor>/library/custom/image:latest": rpc error: code = Unknown desc = Error response from daemon: Get https://<url_to_harbor>/v2/: x509: certificate signed by unknown authority
  Warning  Failed          18s                kubelet, node3     Error: ErrImagePull

自从导入 CA 证书以来,我已经重新启动了主机。我通过将根 CA 证书文件移动到/usr/local/share/ca-certificates然后运行来添加证书sudo update-ca-certificates。

certificate-authority kubernetes ubuntu-18.04 self-signed-certificate
  • 2 个回答
  • 4979 Views
Martin Hope
CodeChimp
Asked: 2020-03-29 19:38:49 +0800 CST

Kubernetes pod /etc/resolv.conf 有错误的名称服务器

  • 7

我在家里有一个 4 节点集群设置,我正在使用它,当我开始尝试进行 pod 到 pod 通信时遇到了问题。我使用 Kubespray 安装节点(1 个“服务器/控制器”和 3 个“节点”)。

问题是我无法按名称解析服务,只能按 IP 解析。例如,我使用 Helm 在默认命名空间中使用服务名称“jenkins”启动 Jeknins,但如果我尝试 ping “jenkins”或“jenkins.default”,它不会解决。在 dnsutils pod 中执行dig jenkins或操作会产生:dig jenkins.default

/ # dig jenkins.default

; <<>> DiG 9.11.6-P1 <<>> jenkins.default
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 8927
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 229fbf94bb25564ae66dc8f45e7f646e5abb5f9dd4ede1d7 (good)
;; QUESTION SECTION:
;jenkins.default.       IN  A

;; Query time: 0 msec
;; SERVER: 169.254.25.10#53(169.254.25.10)
;; WHEN: Sat Mar 28 14:51:26 UTC 2020
;; MSG SIZE  rcvd: 72

检查/etc/resolv.confdnsutils pod 中的文件,我注意到它设置了一个奇怪的 IP 地址nameserver:169.254.25.10。查看所有 pod 后,似乎它们都具有相同的配置,但 coredns 服务设置为 10.233.0.3。事实上,所有的 IP 都是 10. 的东西。在 dnsutils pod 上手动更改/etc/resolv.conf以将 10.233.0.3 用于名称服务器似乎可以为该 pod 更正它,但是如何为所有 pod 修复它?无论如何,那个 169.254.25.10 IP 是从哪里来的?我的实际网络 DNS 服务器是 10.0.0.5,据我所知,我的内部网络中没有 169.254 IP。

kubernetes
  • 2 个回答
  • 10325 Views
Martin Hope
CodeChimp
Asked: 2020-02-16 15:23:27 +0800 CST

通过内部 DNS 服务器解析 Kubernetes 服务 - 裸机

  • 0

我有一个运行 4 个节点的 kubernetes 集群,我的主主节点加上其他节点。我使用 kubespray 让一切运行起来。这是在我的家庭网络上,我将在下面解释。我想要完成的是让某种 DNS 解析工作,这样我就可以继续设置入口。

我的设置:

  • 网络 - 使用 USG、Cloud Key 和交换机的 Unifi 设置。DHCP DNS指向Master box的内部IP加上8.8.8.8和8.8.4.4,默认搜索域设置为我的个人域之一(以mydomain.com为例)
  • Master:运行 DNS (Bind9) plus 的 Ubuntu 18.04 LTS 作为 Kubernetes 集群的 master。他在内部解析为 server.mydomain.com
  • 节点 1-3:Ubuntu 18.04 LTS 仅用作 Kubernetes 主机。内部解析为 nodeX.mydomain.com,其中 X 是节点号 1-3

我猜我需要以某种方式告诉在我的主服务器上运行的 DNS 服务器任何 XXX.server.mydomain.com。至少,我想象它应该如何工作?我不确定,也许我误解了它。

问题是,即使我尝试手动 nslookup 服务,它似乎仍然不起作用。我试过类似的东西:

> nslookup nzbget.server.mydomain.com 10.233.0.3
Server:     10.233.0.3
Address:    10.233.0.3#53

** server can't find nzbget.server.mydomain.com: NXDOMAIN

也

> nslookup nzbget 10.233.0.3
Server:     10.233.0.3
Address:    10.233.0.3#53

** server can't find nzbget.mydomain.com: REFUSED

其中 10.233.0.3 是集群中 CoreDNS 服务 IP 的 IP。

我知道这只是我不知道我在做什么,但我什至不知道在这一点上谷歌正确的事情。感谢您提供的任何指导。

domain-name-system internal-dns kubernetes
  • 2 个回答
  • 579 Views
Martin Hope
CodeChimp
Asked: 2018-08-11 07:04:01 +0800 CST

是否可以通过 CloudFormation 模板填充 S3 存储桶?

  • 5

我需要将我的 CF 模板(GraphQL 架构、Lambda 源等)的一些文件存储到 S3 存储桶中,该存储桶也将(希望)在同一模板中定义,因为这似乎是直接删除内容之外的唯一方法进入模板来做。我也在尝试提前考虑 CI/CD,如果签入这些文件并且 CI/CD 工具适当地移动它们会很好。

有没有办法将文件从模板复制到 S3?大多数人如何使用 CI/CD 来做到这一点?

amazon-web-services
  • 3 个回答
  • 2939 Views
Martin Hope
CodeChimp
Asked: 2013-09-19 08:15:14 +0800 CST

使用 ServerName 的 Cloud9 的 Apache 反向代理

  • 1

我正在尝试使用 Apache 为在我的服务器上本地运行的 Cloud9 实例设置反向代理。我有以下设置:

<VirtualHost *:80>
  ProxyPreserveHost On
  ProxyPass / http://localhost:3131/
  ProxyPassReverse / http://localhost:3131/
  ServerAdmin [email protected]
  ServerName cloud9.mydomain.org
</VirtualHost>

我还尝试重新排序指令,以便首先出现 ServerAdmin 和 ServerName。到目前为止,如果我点击http://cloud9.mydomain.org,我会收到一个浏览器错误,说它无法连接。Apache 的 access.log 或 error.log 中也没有任何记录。我在想我错过了一些东西,但我不确定那个丢失的部分可能是什么。我也不知道我是否在正确的地方寻找日志。Cloud9 进程已启动,并且似乎在 3131 端口上运行。

我不打算完全开放地运行 Cloud9。我所追求的最终目标是最终通过 SSL 使用一些身份验证(可能是基本身份验证)来托管 Cloud9,但我想在开始将 SSL 和身份验证添加到组合中之前,我可能应该先让基础知识工作。

更新 输出apachectl -S:

# apachectl -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
         default server www.mydomain.org (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost www.mydomain.org (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost wp.mydomain.org (/etc/apache2/sites-enabled/001-wordpress:1)
         port 80 namevhost blog.mydomain.org (/etc/apache2/sites-enabled/001-wordpress:22)
         port 80 namevhost cloud9.mydomain.org (/etc/apache2/sites-enabled/003-cloud9:1)
Syntax OK

输出curl -I cloud9.mydomain.org:

curl: (6) Couldn't resolve host 'cloud9.mydomain.org'

输出curl -I localhost:3131:

HTTP/1.1 403 Forbidden
Content-Type: text/plain
Content-Length: 9
Set-Cookie: cloud9.sid.3131=bqk4zxV4ETq9rrO79E4mkJn9.YW7gMDRCsOO95utQJy1mYm8LfTfZC%2F7Fx59DeFRFDpU; path=/; expires=Thu, 19 Sep 2013 02:07:41 GMT; httpOnly
Date: Wed, 18 Sep 2013 22

当我尝试使用 Chrome 从外部访问该网站时,我得到:

哎呀!谷歌浏览器找不到 cloud9.mydomain.org

您的意思是:mydomain.org

这是 Chrome 无法连接时显示的默认页面。同样,我在 access.log 或 error.log 中看不到任何错误,除非由于某种原因它没有在同一个地方登录。我将进入/var/log/apache2并做一个ls -lart以确保我看到最新的日志文件。

apache-2.2
  • 2 个回答
  • 2427 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