设为首页 收藏本站
查看: 905|回复: 0

[经验分享] kubernetes 创建nginx 容器

[复制链接]

尚未签到

发表于 2018-1-5 11:53:06 | 显示全部楼层 |阅读模式
  参考: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
  


View Code  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)
  


View Code  实际是在 服务器上  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

  注:

以上命令会让节点上的Docker从nginx这个image上启动一个容器监听80端口,此为一个pod。
而replicas=2则表示会起两个一模一样的pod。
k8s会确保你的应用是一直运行的,当容器运行失败时,k8s会自动重启容器,当整个节点失败时,会在另外一个健康的节点启动这个容器。
界面查看 是2个pods

  3.通过端口将应用连接到Internet上
  以下命令将上一步骤中的nginx容器连接到公网中:
  kubectl expose rc my-nginx --port=80 --type=LoadBalancer
  注:rc即Replication Controller,上一步骤中的命令其实会自动创建一个名为my-nginx的rc来确保pod的数量维持在2个。
  实际测试中  没有这个rc  叫my-nginx

使用以下命令来查看rc:
$ kubectl get rc  也可以界面:

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-431854-1-1.html 上篇帖子: kubernetes 示例 hello world 下篇帖子: kubernetes安全认证相关资料
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表