0

我遵循了本指南,一切都开始运行。

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

是否可以knative在 docker for mac kubernetes 集群上安装?

我的 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"
4

2 回答 2

0

是的,绝对可以在 Docker for Mac 上运行 Knative。我已经在上游文档存储库中组装了特定的说明。

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

于 2019-03-14T12:44:39.550 回答
0

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:

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

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

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

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

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

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

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

于 2018-08-27T16:32:49.507 回答