【问题标题】:Is it possible to install knative on docker for mac是否可以在 docker for mac 上安装 knative
【发布时间】:2019-06-18 17:45:07
【问题描述】:

我关注了这个guide,一切都开始运行了。

kubectl get pods --namespace=knative-serving -w
NAME                          READY     STATUS            RESTARTS   AGE
activator-f98dc8dc8-r6qlg     0/2       PodInitializing   0          5m
autoscaler-7787cd648-4lwdg    2/2       Running           0          5m
controller-55f7988d59-d8zwd   1/1       Running           0          5m
webhook-5b844dfbd5-7bz84      1/1       Running           0          5m
activator-f98dc8dc8-r6qlg   2/2       Running   0         5m

几秒钟后,kubectl 命令失败并出现以下错误。

kubectl get nodes
Unable to connect to the server: net/http: TLS handshake timeout

是否可以在 docker for mac kubernetes cluster 上安装knative

我的 Kubernetes 版本:

Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.1", GitCommit:"b1b29978270dc22fecc592ac55d903350454310a", GitTreeState:"clean", BuildDate:"2018-07-18T11:37:06Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.3", GitCommit:"2bba0127d85d5a46ab4b778548be28623b32d0b0", GitTreeState:"clean", BuildDate:"2018-05-21T09:05:37Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"

【问题讨论】:

    标签: kubernetes knative-serving


    【解决方案1】:

    Knative 提供了一组中间件组件,这些组件对于构建可在任何地方运行的现代、以源代码为中心和基于容器的应用程序至关重要:在本地、在云中,甚至在第三方数据中心。 Knative 组件建立在 Kubernetes 之上,并编纂了成功的基于 Kubernetes 的现实世界框架所共享的最佳实践。它使开发人员能够专注于编写有趣的代码,而不必担心构建、部署和管理应用程序的“无聊但困难”的部分。

    回到你的问题。

    可以在 MacOS 环境下由 Kubernetes 管理的 Docker 容器上使用 Knative。您可以尝试安装它 在Minikube

    1. 启动 minikube:

    minikube 启动 --memory=8192 --cpus=4 \ --kubernetes-version=v1.10.5 \ --vm-driver=hyperkit \ --bootstrapper=kubeadm \
    --extra-config=controller-manager.cluster-signing-cert-file="/var/lib/localkube/certs/ca.crt" \
    --extra-config=controller-manager.cluster-signing-key-file="/var/lib/localkube/certs/ca.key" \
    --extra-config=apiserver.admission-control="LimitRanger,NamespaceExists,NamespaceLifecycle,ResourceQuota,ServiceAccount,DefaultStorageClass,MutatingAdmissionWebhook"

    1. 使用 NodePort 功能安装 Istio:

    卷曲 -L https://raw.githubusercontent.com/knative/serving/v0.1.1/third_party/istio-0.8.0/istio.yaml \ | sed 's/LoadBalancer/NodePort/' \ | kubectl apply -f -

     kubectl label namespace default istio-injection=enabled
    
    1. 监控 Istio 组件,直到所有组件都显示为 Running 或 Completed 状态:

    kubectl 获取 pods -n istio-system --watch

    1. 为资源有限的环境安装 knative:

    卷曲 -L https://github.com/knative/serving/releases/download/v0.1.1/release-lite.yaml \ | sed 's/LoadBalancer/NodePort/' \ | kubectl apply -f -

    1. 监控 Knative 组件,直到所有组件都显示正在运行的状态:

    kubectl 获取 pods -n knative-serving --watch

    【讨论】:

    • 我按照上面提到的步骤操作,但仍然遇到同样的错误。 kubectl apply -f service.yaml 错误:无法识别“service.yaml”:获取192.168.99.100:8443/api?timeout=32s:net/http:TLS 握手超时
    【解决方案2】:

    是的,绝对可以在 Docker for Mac 上运行 Knative。我已经在上游文档库中组装了specific instructions

    确保将 Docker for Mac 更新为更高版本之一。 Knative 同时需要 Kubernetes 1.12+。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-08
    • 1970-01-01
    • 2022-01-16
    • 2019-03-27
    • 1970-01-01
    • 1970-01-01
    • 2016-08-15
    • 1970-01-01
    相关资源
    最近更新 更多