list1234 发表于 2018-1-5 07:12:08

kubernetes 创建tomcat 容器

  方案一: 使用k8s dashboard 创建rc
  1.界面操作
https://images2017.cnblogs.com/blog/802205/201711/802205-20171105173251451-1926254712.png
https://images2017.cnblogs.com/blog/802205/201711/802205-20171105173307513-1587867100.png
  提示:暂时 忽略
  查看:
https://images2017.cnblogs.com/blog/802205/201711/802205-20171105173346545-847026562.png
https://images2017.cnblogs.com/blog/802205/201711/802205-20171105173407920-314850843.png
  2.测试
https://images2017.cnblogs.com/blog/802205/201711/802205-20171105173440529-2142781404.png
  由于是外部服务
  直接用节点的ip访问:
https://images2017.cnblogs.com/blog/802205/201711/802205-20171105173557154-273488979.png
https://images2017.cnblogs.com/blog/802205/201711/802205-20171105173749841-2109912395.png
  同样也是   第二个端口可以访问。感觉 跟之前的提示信息有关系
  未来在慢慢找原因吧
  原因分析:
  1.2个 复制都在一台节点上, 有点奇怪。master上查了下
https://images2017.cnblogs.com/blog/802205/201711/802205-20171105173932107-1124005884.png
  因为一个节点为正常状态
  2.尝试 让2个节点都正常 ,在来一次tomcat
  136节点上相关服务重启后,等待了近5分钟 2个节点的状态才都好。
https://images2017.cnblogs.com/blog/802205/201711/802205-20171105174917138-392147137.png
  重新创建 tomcat 后
https://images2017.cnblogs.com/blog/802205/201711/802205-20171105191132513-935246203.png
  经验证 ,确实是分布在不同的minion上的!
  直接验证 2个节点的 30969端口
https://images2017.cnblogs.com/blog/802205/201711/802205-20171105191624185-1267914936.png
https://images2017.cnblogs.com/blog/802205/201711/802205-20171105191652576-158807390.png
  由此可见,2个minion上的这个端口都可以。
  推论:
  2个端口中 ,第一个是   容器所在 cluster ip对应的 端口; 第二个是 对外服务对应的端口(minion节点ip+这个端口)
  所以 2个minion的ip+ 第二个端口都可以访问 tomcat应用。
  换言之:    第一个端口30081相当于yaml中的port,第二个端口 相当于nodePort,8080则是 容器内端口containerPort targetPort
  验证下:
  看下 自动生成的yaml配置就好
https://images2017.cnblogs.com/blog/802205/201711/802205-20171105192205685-548206969.png
  目前这个nodePort 貌似是随机分配的,但是应该通过yaml 文件是可以指定的。 而targetPort 这里应该就是 containerPort
  方案二:yaml方式
  方案三: 使用 kubectl run
  kubectl run tomcat-hui --image=192.168.179.133:80/tomcat --replicas=2--port=8080
  注意:--port-8080 貌似 实际看出来就是 containerport
  删除 deployment : 界面操作了
  1.创建tomcat.yaml
  

tomcat.yaml  

apiVersion: extensions/v1beta1  kind: DaemonSet
  metadata:
  name: tomcat-ds
  spec:
  template:
  metadata:
  labels:
  app: tomcat
  spec:
  containers:
  - name: tomcat
  image: tomcat:8.0.30-jre8
  ports:
  - containerPort: 8080
  2.创建
  

kubectl create -f tomcat.yaml  其他:
  如果是内部使用,那就可以不用设置服务的类型(默认为ClusterIP),否则,可以将服务类型设置为NodePort,通过node的端口暴露出来给外部使用;
  或者是LoadBalancer,由云服务商提供一个负载均衡直接挂在服务上。这里我们使用NodePort,暴露出30088端口给外部使用。
  如果不指定nodePort,那么kubernetes会随机生成一个。
https://images2017.cnblogs.com/blog/802205/201711/802205-20171105135759138-65397951.png
  

  

  

https://images2017.cnblogs.com/blog/802205/201711/802205-20171105135738670-1160129333.png
  
页: [1]
查看完整版本: kubernetes 创建tomcat 容器