kubernetes 创建nginx 容器
参考:http://blog.csdn.net/qq1010885678/article/details/48832067
一个简单的nginx服务器
先决条件:你需要拥有的是一个部署完毕并可以正常运行的k8s集群。
1.拉 nginx 镜像,上传到私服

方案一:使用界面 k8s dashboard 创建
1.创建rc :

创建完后:


两个同时创建.
因为创建rc的时候 选择了内部服务。
如图:
我们尝试在 minion节点上 访问
nginx
方式一: Cluster IP+port 注意配置的是 targetPort 即容器内的端口是80

可以访问!
方式二:通过 pod的 Cluster IP+containerPort



实践证明 :都可以!
注意:2个都叫 Cluster IP ,但是实际上 后面的是 容器的ip,签名的应该 是 另外的一个ip

2个ip的区别 未来需要继续弄清楚。
另外:这三个IP都不是 minion的节点的 IP,192.168.179.135

节点的IP 80 或81端口都不行的。
据此:尝试创建 一个外部服务



测试:




以上三个IP都可以。

重点: minion节点的IP+ 32108 端口居然可以访问

方案二:通过yaml文件创建 rc和svc 即rc和service 本方法没验证,但是yaml是从 界面里拷出来的。理论上可以的
1.创建rc
Replication Controller {5}
kind : ReplicationController
apiVersion : v1
metadata {8}
name : nginx-hui
namespace : default
selfLink : /api/v1/namespaces/default/replicationcontrollers/nginx-hui
uid : 80f386f8-c206-11e7-859d-000c29e983de
resourceVersion : 55282
generation : 1
creationTimestamp : 2017-11-05T08:51:24Z
labels {1}
app : nginx-hui
spec {3}
replicas : 2
selector {1}
app : nginx-hui
template {2}
metadata {3}
name : nginx-hui
creationTimestamp : null
labels {1}
app : nginx-hui
spec {5}
containers [1]
0 {6}
name : nginx-hui
image : 192.168.179.133:80/nginx
resources {0}
(empty object)
terminationMessagePath : /dev/termination-log
imagePullPolicy : Always
securityContext {1}
privileged : false
restartPolicy : Always
terminationGracePeriodSeconds : 30
dnsPolicy : ClusterFirst
securityContext {0}
(empty object)
status {5}
replicas : 2
fullyLabeledReplicas : 2
readyReplicas : 2
availableReplicas : 2
observedGeneration : 1
2.创建svc
Service {5}
kind : Service
apiVersion : v1
metadata {7}
name : nginx-hui
namespace : default
selfLink : /api/v1/namespaces/default/services/nginx-hui
uid : 80fe1ae1-c206-11e7-859d-000c29e983de
resourceVersion : 55241
creationTimestamp : 2017-11-05T08:51:24Z
labels {1}
app : nginx-hui
spec {5}
ports [1]
0 {4}
name : tcp-81-80-8yb4e
protocol : TCP
port : 81
targetPort : 80
selector {1}
app : nginx-hui
clusterIP : 10.254.239.9
type : ClusterIP
sessionAffinity : None
status {1}
loadBalancer {0}
(empty object)
实际是在 服务器上 master上 创建2个yaml文件
rc.yaml 和svc.yaml
然后用
kubectl create -f xx.yaml
分别创建 rc和service
方案三:下面是采用命令方式创建:(未成功)
2. 在Master节点上使用kubectl命令来启动一个运行着nginx服务器的容器:
kubectl run my-nginx --image=192.168.179.133:80/nginx --replicas=2 --port=80

注:
3.通过端口将应用连接到Internet上
以下命令将上一步骤中的nginx容器连接到公网中:
kubectl expose rc my-nginx --port=80 --type=LoadBalancer
注:rc即Replication Controller,上一步骤中的命令其实会自动创建一个名为my-nginx的rc来确保pod的数量维持在2个。
实际测试中 没有这个rc 叫my-nginx
也可以界面:
kubernetes 创建nginx 容器的更多相关文章
- Docker(八)-Docker创建Nginx容器
获取Nginx镜像 最简单的方法就是通过 docker pull nginx 命令来创建 Nginx容器. $ sudo docker pull nginx 或者: $ sudo docker pul ...
- docker 使用:创建nginx容器
在上一节中了解了镜像和容器.对于镜像可以这样的理解,镜像相当于一个光盘,里面刻录了一个系统这个系统已经带有相关的服务了. 容器是通过镜像这个光盘安装的一个操作系统,光盘预加了什么服务,容器就有什么服务 ...
- kubernetes 创建tomcat 容器
方案一: 使用k8s dashboard 创建rc 1. 界面操作 提示:暂时 忽略 查看: 2.测试 由于是外部服务 直接用 节点的ip访问: 同样也是 第二个端口可以访问.感觉 跟之前的提 ...
- toolbox 中创建nginx服务器,使用localhost不能访问
使用toolbox 工具使用docker创建nginx 容器,使用localhost不能访问? 使用docker run --rm -d --name dweb -p 80:80 nginx 命令执 ...
- Kubernetes创建挂载共享存储的容器
原文链接:https://www.58jb.com/html/135.html 在上一次的Mysql容器中,已经使用过了配置宿主机目录挂载的方式,这样虽然方便但是不够安全:一般都是把数据存储在远程服务 ...
- 创建新镜像-从已创建的容器中更新镜像并提交镜像(以Nginx为例)
目标:现在我们主要是修改nginx的index.html,然后做一个新镜像 1.基于nginx:1.12运行一个容器 docker run -d -p 8080:80 --name nginx ngi ...
- Docker Kubernetes 创建管理 Deployment
Docker Kubernetes YAML文件创建容器 通过创建Deployment来管理pods从而创建容器.它会同时创建容器.pod.以及Deployment ! 环境: 系统:Centos 7 ...
- Kubernetes+Docker+Istio 容器云实践
随着社会的进步与技术的发展,人们对资源的高效利用有了更为迫切的需求.近年来,互联网.移动互联网的高速发展与成熟,大应用的微服务化也引起了企业的热情关注,而基于Kubernetes+Docker的容器云 ...
- .NET Core+MySql+Nginx 容器化部署
.NET Core容器化@Docker .NET Core容器化之多容器应用部署@Docker-Compose .NET Core+MySql+Nginx 容器化部署 GitHub-Demo:Dock ...
随机推荐
- C# Dictionary, SortedDictionary, SortedList
就我个人觉得Dictionary, SortedDictionary, SortedList 这几个类的使用是比较简单的,只要稍微花点时间在网上查找一点资料,然后在阅读以下源码就理解的很清楚了.为什么 ...
- MongoDB学习笔记(一)安装配置
文档存储:文档存储一般用类似json的格式存储,存储的内容是文档型的. MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成.MongoDB 文档类似于 JSON ...
- tmux分屏幕
1. tmux a -t fly 连接上tmux 2. 左右分屏幕,ctrl+a ,再按% 上下分屏: ctrl+a, 再按“ 切换屏幕: ctrl+a, 再按o 关闭终端: ctrl+a, 再 ...
- ln: creating symbolic link XXXXXX : Operation not supported
ln: creating symbolic link XXXXXX : Operation not supported 转自:https://blog.csdn.net/z444_579/articl ...
- 微软BI SSRS 2012 Metro UI Win 8 风格的报表课程案例全展示
开篇介绍 微软BI SSRS 2012 Metro UI 高端报表视频教程 (http://www.hellobi.com/course/15)课程从2014年6月开始准备,于2014年9月在 天善B ...
- 最新整合maven+SSM+Tomcat 实现注册登录
mybatis学习 http://www.mybatis.org/mybatis-3/zh/index.html Spring学习:http://blog.csdn.net/king1425/arti ...
- 使用 LaTeX 画图系列
可以使用TikZ,用TikZ绘制出来的图形效果非常好,原生支持所有LaTeX语法. 使用 LaTeX 画柱状图/条形图参考:Guide to draw charts (basic, pie, bar) ...
- NDK配置
NDK 配置 Android SDK中下载NDK, LLDB Android.mk 和 Application.mk 简单来说 Android.mk 用来描述需要生成哪些模块的 .so 文件 Appl ...
- primary库新增数据文件后,standby库无法创建文件并终止数据同步
主库是RAC环境,使用asm存放数据文件,备库是操作系统本地文件系统存放数据文件.在主库执行以下操作: SQL> alter tablespace ysdv add datafile '+dat ...
- Spring Boot 2.0 热部署指南
Spring Boot 2.0 支持热部署,实现方法很简单 Spring Boot 2.0 有几种热重载的选项. 推荐的方法是使用spring-boot-devtools 因为它提供了额外的开发时间功 ...