【问题标题】:Skaffold and microk8s -- getting started -- x509: certificate signed by unknown authoritySkaffold 和 microk8s -- 入门 -- x509: 由未知权威签署的证书
【发布时间】:2021-01-23 23:22:01
【问题描述】:

尝试开始使用 skaffold,遇到很多问题。所以我回到基础并尝试让示例运行:

  1. 克隆https://github.com/GoogleContainerTools/skaffold
  2. 跑了cd ~/git/skaffold/examples/getting-started/,然后开始尝试;
$ skaffold dev --default-repo=aliwatters
Listing files to watch...
 - skaffold-example
Generating tags...
 - skaffold-example -> aliwatters/skaffold-example:v1.18.0-2-gf0bfcccce
Checking cache...
 - skaffold-example: Not found. Building
Building [skaffold-example]...
Sending build context to Docker daemon  3.072kB
Step 1/8 : FROM golang:1.12.9-alpine3.10 as builder
 ---> e0d646523991
Step 2/8 : COPY main.go .
 ---> Using cache
 ---> fb29e25db0a3
Step 3/8 : ARG SKAFFOLD_GO_GCFLAGS
 ---> Using cache
 ---> aa8dd4cbab42
Step 4/8 : RUN go build -gcflags="${SKAFFOLD_GO_GCFLAGS}" -o /app main.go
 ---> Using cache
 ---> 9a666995c00a
Step 5/8 : FROM alpine:3.10
 ---> be4e4bea2c2e
Step 6/8 : ENV GOTRACEBACK=single
 ---> Using cache
 ---> bdb74c01e0b9
Step 7/8 : CMD ["./app"]
 ---> Using cache
 ---> 15c248dd54e9
Step 8/8 : COPY --from=builder /app .
 ---> Using cache
 ---> 73564337b083
Successfully built 73564337b083
Successfully tagged aliwatters/skaffold-example:v1.18.0-2-gf0bfcccce
The push refers to repository [docker.io/aliwatters/skaffold-example]
37806ae41d23: Preparing
1b3ee35aacca: Preparing
37806ae41d23: Pushed
1b3ee35aacca: Pushed
v1.18.0-2-gf0bfcccce: digest: sha256:a8defaa979650baea27a437318a3c4cd51c44397d6e2c1910e17d81d0cde43ac size: 739
Tags used in deployment:
 - skaffold-example -> aliwatters/skaffold-example:v1.18.0-2-gf0bfcccce@sha256:a8defaa979650baea27a437318a3c4cd51c44397d6e2c1910e17d81d0cde43ac
Deploy Failed. Could not connect to cluster microk8s due to "https://127.0.0.1:16443/version?timeout=32s": x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "10.152.183.1"). Check your connection for the cluster.

所以这对我来说没有意义,https://127.0.0.1:16443/version?timeout=32s 从外观上看是 kubectl,它有一个自签名证书(在浏览器中查看)

$ snap version
snap    2.48.2
snapd   2.48.2
series  16
ubuntu  20.04
kernel  5.4.0-60-generic

$ snap list 
# ...
microk8s              v1.20.1                     1910   1.20/stable      canonical✓   classic
# ...

$ microk8s kubectl version
Client Version: version.Info{Major:"1", Minor:"20+", GitVersion:"v1.20.1-34+e7db93d188d0d1", GitCommit:"e7db93d188d0d12f2fe5336d1b85cdb94cb909d3", GitTreeState:"clean", BuildDate:"2021-01-11T23:48:42Z", GoVersion:"go1.15.6", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"20+", GitVersion:"v1.20.1-34+e7db93d188d0d1", GitCommit:"e7db93d188d0d12f2fe5336d1b85cdb94cb909d3", GitTreeState:"clean", BuildDate:"2021-01-11T23:50:46Z", GoVersion:"go1.15.6", Compiler:"gc", Platform:"linux/amd64"}

$ skaffold version
v1.18.0

$ docker version
Client: Docker Engine - Community
 Version:           19.03.4-rc1
...

从哪里开始调试?

感谢您的任何想法!

【问题讨论】:

    标签: docker kubernetes microk8s skaffold


    【解决方案1】:

    已通过 github 问题 https://github.com/GoogleContainerTools/skaffold/issues/5283 (thx briandealwis) 解决

    别名的组合,并且需要导出配置,因此 skaffold 可以理解我的设置。

    $ sudo snap unalias kubectl
    $ sudo snap install kubectl --classic 
    $ microk8s.kubectl config view --raw > $HOME/.kube/config
    $ skaffold dev --default-repo=<your-docker-repository>
    

    完整输出

    $ sudo snap unalias kubectl
    # just in case
    
    ali@stinky:~/git/skaffold/examples/getting-started (master)$ sudo snap install kubectl --classic 
    kubectl 1.20.2 from Canonical✓ installed
    
    ali@stinky:~/git/skaffold/examples/getting-started (master)$ which kubectl
    /snap/bin/kubectl
    
    ali@stinky:~/git/skaffold/examples/getting-started (master)$ microk8s.kubectl config view --raw > $HOME/.kube/config
    
    ali@stinky:~/git/skaffold/examples/getting-started (master)$ skaffold dev --default-repo=aliwatters
    Listing files to watch...
     - skaffold-example
    Generating tags...
     - skaffold-example -> aliwatters/skaffold-example:v1.18.0-2-gf0bfcccce
    Checking cache...
     - skaffold-example: Found Remotely
    Tags used in deployment:
     - skaffold-example -> aliwatters/skaffold-example:v1.18.0-2-gf0bfcccce@sha256:a8defaa979650baea27a437318a3c4cd51c44397d6e2c1910e17d81d0cde43ac
    Starting deploy...
     - pod/getting-started created
    Waiting for deployments to stabilize...
    Deployments stabilized in 23.793238ms
    Press Ctrl+C to exit
    Watching for changes...
    [getting-started] Hello world!
    [getting-started] Hello world!
    [getting-started] Hello world!
    # ^C
    Cleaning up...
     - pod "getting-started" deleted
    
    

    【讨论】:

      猜你喜欢
      • 2020-11-05
      • 2018-04-22
      • 2021-02-08
      • 1970-01-01
      • 2019-09-01
      • 2016-08-24
      • 2018-07-13
      • 2019-04-12
      • 2021-01-29
      相关资源
      最近更新 更多