首頁>Program>source

我在ubuntu笔記本電脑上有一个microk8s集群。 我想通過azure devops管道在其上應用部署yaml檔案。

我已经在我的devops中成功定義了Kubernetes Service連線,並通過了驗證.虽然当我尝試應用yaml檔案時我得到了以下几行

/usr/bin/kubectl apply -f /home/vsts/work/1/s/devops/deploymen.yaml -o json
##[error]Unable to connect to the server: x509: certificate is valid for 127.0.0.1, 10.152.183.1, 192.168.50.69, 172.17.0.1, 10.1.80.0, not <my external IP>

192.168.50.69是我的網路中笔記本電脑的IP地址

我應该在哪裏添加我的外部IP?

EDIT :

我找到了身份驗證和授權,並編輯了 /var/snap/microk8s/current/certs/csr.conf.template 所以現在包括我的IP。

文章說:

After changing, the apiserver-kicker will automatically detect the difference, generate new certs and restart the apiserver. Your DNS server settings and kubeconfig 檔案必须適当更新。

certificate-authority-data /var/snap/microk8s/current/certs/ca.crt中的證书 現在看起来与 microk8s config的不同

我還更新了 kubeconfig 与如上所述

但是仍然没有運气!

最新回復
  • 5月前
    1 #

    我轉載了您的問题,解決方案似乎是在kubeconfig檔案中添加證书或跳過tls驗證。

    您可以添加 insecure-skip-tls-verify: true 到kubeconfig檔案,看起来像這樣:

    - cluster:
        insecure-skip-tls-verify: true
        server: https://<master_ip>:<port>
    

    或修改 kubeconfig 在您的microk8s集群上並更改 server: https://127.0.0.1:16443server: https://<master_ip>:16443 並將其複製到要从中訪問群集的主機。

  • 5月前
    2 #

    這些問题的解決方案是修改模板並添加缺少的IP地址

    /var/snap/microk8s/current/certs/csr.conf.template

    ...
    [ alt_names ]
    DNS.1 = kubernetes
    DNS.2 = kubernetes.default
    DNS.3 = kubernetes.default.svc
    DNS.4 = kubernetes.default.svc.cluster
    DNS.5 = kubernetes.default.svc.cluster.local
    IP.1 = 127.0.0.1
    IP.2 = 192.168.1.1
    IP.100 = 192.168.1.1 # USE IP > 100
    #MOREIPS
    ...
    

    發生這種情况是因為如果您檢查 sudo cat /var/snap/microk8s/current/certs/csr.conf 檔案您分配的IP的ID被另一个IP占用。

    要解決此冲突,必须使用更高的ID,這將起作用

相似問題

  • 如何渲染Svelte服務器端?
  • 使用dplyr和lubridate按月和年組合計數和分組