我试图使用docker实例在本地设置Kubernetes . 我正在关注this documentation但是在创建新服务和暴露端口时陷入困境 .
我把docker容器拉了,我有 kubectl
可用 .
当我运行命令 kubectl get nodes --show-labels
时,我得到以下内容
|NAME | STATUS | AGE | LABELS |
|-----------|---------|--------|--------------------------------------|
|127.0.0.1 | Ready | 1h | kubernetes.io/hostname=127.0.0.1 |
我现在根据文档使用 kubectl run nginx --image=nginx --port=80
创建一个新服务 . 当我运行 docker ps
时,我看到一个使用我的本地nginx:最新图像创建的容器 .
CONTAINER_ID: 4192d1b423ec
IMAGE: nginx
COMMAND: "nginx -g 'daemon off'"
CREATED: 37 minutes ago
STATUS: Up 37 minutes
NAMES: k8s_nginx.aab52821_nginx-198147104-qop91_default_f1cf5d8a-ef2d-11e5-b527-f0def1de109f_940ee216
下一步是我遇到问题 kubectl expose rc nginx --port=80
应该将nginx图像作为端口80上的kubernetes服务公开 .
我在终端得到这个 .
服务器出错:找不到复制控制器“nginx”
所以我开始阅读有关复制控制器的内容,我理解这些概念,但我不知道它们是如何配置或设置的 . 这让我想到我正在遵循什么应该是一个白痴证明设置指南 . 谁能帮我这个?我在下面添加了我的docker和kubernetes版本 .
版本信息
Docker版本(本地Ubuntu 15.10)
Client:
Version: 1.10.3
API version: 1.22
Go version: go1.5.3
Git commit: 20f81dd
Built: Thu Mar 10 15:59:07 2016
OS/Arch: linux/amd64
Server:
Version: 1.10.3
API version: 1.22
Go version: go1.5.3
Git commit: 20f81dd
Built: Thu Mar 10 15:59:07 2016
OS/Arch: linux/amd64
Kubernetes版本
Client Version: version.Info{
Major:"1",
Minor:"2",
GitVersion:"v1.2.0",
GitCommit:"5cb86ee022267586db386f62781338b0483733b3",
GitTreeState:"clean"
}
Server Version: version.Info{
Major:"1",
Minor:"2",
GitVersion:"v1.2.0",
GitCommit:"5cb86ee022267586db386f62781338b0483733b3",
GitTreeState:"clean"
}
2 回答
如果你想在
Docker
之上运行Kubernetes
,请查看Kubernetes Anywhere . 他们说:Docker的Kubernetes文档现在已经过时了 . 需要添加一些元素 .
这个kubernetes issue是值得关注的 .
您可以在this comment找到设置的答案 . 它适用于DNS / Dashboard插件 . 我还没有完成所有功能的完整测试,但是运行复杂的应用程序(不了解helloworld应用程序) .
如果您感兴趣,可以找到一些尝试解决此设置的项目,如果您没有时间,则该项目不是那么简单:
hive
kmachine
注意我没有在这里设置任何设置,因为它肯定会很快过时... Kubernetes文档是个好地方(现在问题我指向你^^)