1

我正在按照Kubernetes in Action中的示例在 kubernetes 中运行一个简单的 docker 映像:

$ bx login --apikey @apiKey.json -a  https://api.eu-de.bluemix.net
$ bx cs cluster-config my_kubernetes
$ export KUBECONFIG=..my_kubernetes.yml

接下来,运行容器:

$ kubectl run kubia --image=luksa/kubia --port=8080 --generator=run/v1
$ kubectl expose rc kubia --type=LoadBalancer --name kubia-http
$ kubectl get service
$ kubectl get svc

NAME         CLUSTER-IP    EXTERNAL-IP   PORT(S)          AGE
kubernetes   10.10.10.1    <none>        443/TCP          20h
kubia-http   10.10.10.12   <pending>     8080:32373/TCP   0m

十五分钟后……

NAME         CLUSTER-IP    EXTERNAL-IP   PORT(S)          AGE
kubernetes   10.10.10.1    <none>        443/TCP          20h
kubia-http   10.10.10.12   <pending>     8080:32373/TCP   15m

我没有在 Kubernetes 集群上运行其他任何东西。

4

4 回答 4

5

要在此处关闭线程,LoadBalancer 不能在精简(又名免费)集群层中使用。可以在此处找到 lite 集群和标准集群之间的区别 - https://console.bluemix.net/docs/containers/cs_planning.html#cs_planning

于 2017-09-06T12:47:57.950 回答
1

运行以下命令以确定是否有任何失败事件。

kubectl describe svc kubia-http
于 2017-09-06T12:40:20.877 回答
1

感谢 Chris Rosen 的回答,我找到了解决方法:

$ bx cs workers my_kubernetes
OK
ID                 Public IP  Private IP  Machine Type State    Status
kube-par01-xxxxx   1.2.3.4    6.7.8.9     free         normal   Ready

注意公共 IP 地址:1.2.3.4

使用 NodePort 公开服务:

$ kubectl expose rc kubia --type=NodePort --name kubia-http2

检查 NodePort 详细信息:

$ kubectl get svc
NAME          CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
kubernetes    10.10.10.1     <none>        443/TCP          21h
kubia-http2   10.10.10.193   <nodes>       8080:31247/TCP   10s

使用工作人员公共 IP 地址上的公开端口访问服务:

$ curl http://1.2.3.4:31247/
You've hit kubia-bjb59
于 2017-09-06T14:05:26.153 回答
0

根据上面的帖子,我正在执行以下步骤:

先决条件:在 IBM Cloud 中创建一个免费的 Kubernetes 集群并按照步骤操作(您需要先安装 ibmcloud 和 kubectl 并连接到远程集群)

kubectl 获取节点

应该返回这样的东西

NAME           STATUS   ROLES    AGE     VERSION
10.76.197.55   Ready    <none>   4h18m   v1.18.10+IKS

然后,

  1. kubectl apply -f https://k8s.io/examples/controllers/replication.yaml

复制控制器/nginx 创建

  1. kubectl 暴露 rc nginx --type=NodePort

服务/nginx暴露

  1. kubectl 获取 svc

    名称 类型 CLUSTER-IP EXTERNAL-IP PORT(S) 年龄

    nginx NodePort 172.21.19.73 80:30634/TCP 70s

  2. 记下端口,在我的情况下为 30634

  3. kubectl describe nodes |grep ExternalIP(找出外部IP)

呼叫IP:端口

玩得开心!

于 2020-11-02T10:16:04.073 回答