docker - 暴露 Nginx 容器并查看服务
问题描述
1.) 执行以下命令生成一个随机数,用于后面的步骤
NUMBER=$[ ( $RANDOM % 1000 ) + 1 ]
echo $NUMBER
注意:将句子您的随机数替换为您在找到该句子的任何地方生成的数字。
您的任务是启动一个由 Kubernetes Cluster 管理的 Kubernetes Engine,名称为 mycluster-your random number,并将其配置为运行 2 个节点。
2.) 运行和部署容器在这里,您需要从云外壳启动 Nginx 容器的单个实例(版本为 1.10.0)。
执行以下命令查看 nginx 容器中正在运行的 pod。**
3.) 首先,您需要将 Nginx 容器公开到 Internet。
Kubernetes 将使用具有公共 IP 地址的外部负载均衡器创建服务。您可以通过执行以下命令来查看您的服务。
kubectl get services
现在,您将获得 Nginx 集群的外部 IP 地址。打开新的 Web 浏览器选项卡并粘贴集群外部 IP 地址。您应该获得 Nginx 浏览器的默认主页。
到目前为止,我已经使用了以下代码,但是 lb 不起作用:
gcloud container clusters create mycluster-5 --zone=us-central1-a
kubectl create deployment mycluster --image=gcr.io/cloud-marketplace/google/nginx1
kubectl set image deployment nginx nginx=nginx:1.9.1
kubectl expose deployment mycluster-727 --type LoadBalancer --port 80 --target-port 8080
service/mycluster-727 exposed
解决方案
它不工作的原因是 Pod 没有暴露端口。请运行以下命令而不是第二个命令。
kubectl run mycluster --image=gcr.io/cloud-marketplace/google/nginx1 --port=80
此命令应创建部署并公开containerPort
您的服务可以访问的 on 80。
推荐阅读
- java - 如何为 spring 5 websockets 添加安全性
- ios - 使用 uitextfield 停止计时器(swift4)
- javascript - 如何使用 Angular 5 依次运行 2 个 for 循环
- redis - 官方 redis-pubsub 源码
- c# - C# BinaryWriter 内存泄漏
- algorithm - 具有大量集合的优化算法(以功能方式)
- python - 获取每行的第一个非空值
- sql - Oracle SQL:提取两个字符之间的文本
- javascript - 对组件类函数的角度 ng-change 调用未触发
- javascript - 带有 querySelectorAll 的第一个待办事项列表