我正在按照kubernetes的示例进行操作,以在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群集上没有其他任何东西。
要关闭此处的线程,无法在Lite(又名免费)集群层中使用LoadBalancer。LITE和标准簇之间的差异可以在此处找到-https://console.bluemix.net/docs/containers/cs_planning.html#cs_planning。
运行以下操作以确定是否存在任何故障事件。
kubectl describe svc kubia-http
多亏了克里斯·罗森(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
基于上面的帖子,我将获得以下步骤工作:
先决条件:在IBM云中创建一个免费的kubernetes群集,然后按照步骤操作(您需要安装IBMCloud和kubectl并首先连接到远程群集)
)kubectl获取节点
应该返回这样的东西
NAME STATUS ROLES AGE VERSION
10.76.197.55 Ready <none> 4h18m v1.18.10+IKS
然后,
- kubectl应用-f https://k8s.io/examples/controllers/replication.yaml
replicationController/nginx创建
- kubectl公开rc nginx -type = nodeport
服务/nginx暴露
kubectl获取SVC
名称类型cluster-IP外部IP端口
nginx nodeport 172.21.19.73 80:30634/tcp 70s
请注意端口,30634在我的情况下
kubectl描述节点| grep externalip(找出外部IP)
呼叫IP:端口
玩得开心!
如果您的目的是通过将应用程序访问到外部世界来测试您的应用程序,我建议使用可以在免费层服务中使用的NodePort
服务。
可以在此处找到更多信息:将服务公开