环境:

两台虚拟机,

10.10.20.203 部署docker、etcd、flannel、kube-apiserver、kube-controller-manager、kube-scheduler

10.10.20.206 部署docker、flannel、kubelet、kube-proxy

1、创建nginx-rc.yaml

  1. apiVersion: v1
  2. kind: ReplicationController
  3. metadata:
  4. name: nginx-controller
  5. spec:
  6. replicas:
  7. selector:
  8. name: nginx
  9. template:
  10. metadata:
  11. labels:
  12. name: nginx
  13. spec:
  14. containers:
  15. - name: nginx
  16. image: nginx
  17. ports:
  18. - containerPort:

2、创建nginx-service-nodeport.yaml

  1. apiVersion: v1
  2. kind: Service
  3. metadata:
  4. name: nginx-service-nodeport
  5. spec:
  6. ports:
  7. - port:
  8. targetPort:
  9. protocol: TCP
  10. type: NodePort
  11. selector:
  12. name: nginx

3、创建pod

  1. kubectl create -f nginx-rc.yaml

4、创建service

  1. kubectl create -f nginx-service-nodeport.yaml

5、查看pod

  1. [root@k8s-master ~]# kubectl get pods
  2. NAME READY STATUS RESTARTS AGE
  3. nginx-controller-v40nj / Running 1h
  4. nginx-controller-zxdzh / Running 1h
  1. [root@k8s-master ~]# kubectl describe pod nginx-controller-v40nj
  2. Name: nginx-controller-v40nj
  3. Namespace: default
  4. Node: k8s-slave1-/60.19.29.21
  5. Start Time: Thu, Aug :: -
  6. Labels: name=nginx
  7. Status: Running
  8. IP: 10.0.83.3
  9. Controllers: ReplicationController/nginx-controller
  10. Containers:
  11. nginx:
  12. Container ID: docker://269adc9b693aba0356ba18e4253c2b498fc7b7a8ce0af83857fcfd6b70e6ef03
  13. Image: nginx
  14. Image ID: docker://sha256:0d409d33b27e47423b049f7f863faa08655a8c901749c2b25b93ca67d01a470d
  15. Port: /TCP
  16. State: Running
  17. Started: Thu, Aug :: -
  18. Last State: Terminated
  19. Reason: Completed
  20. Exit Code:
  21. Started: Thu, Aug :: -
  22. Finished: Thu, Aug :: -
  23. Ready: True
  24. Restart Count:
  25. Environment Variables: <none>
  26. Conditions:
  27. Type Status
  28. Initialized True
  29. Ready True
  30. PodScheduled True
  31. No volumes.
  32. QoS Tier: BestEffort
  33. Events:
  34. FirstSeen LastSeen Count From SubobjectPath Type Reason Message
  35. --------- -------- ----- ---- ------------- -------- ------ -------
  36. 5m 5m {kubelet k8s-slave1-} spec.containers{nginx} Normal Pulling pulling image "nginx"
  37. 5m 5m {kubelet k8s-slave1-} Warning MissingClusterDNS kubelet does not have ClusterDNS IP configured and cannot create Pod using "ClusterFirst" policy. Falling back to DNSDefault policy.
  38. 5m 5m {kubelet k8s-slave1-} spec.containers{nginx} Normal Pulled Successfully pulled image "nginx"
  39. 5m 5m {kubelet k8s-slave1-} spec.containers{nginx} Normal Created Created container with docker id 269adc9b693a
  40. 5m 5m {kubelet k8s-slave1-} spec.containers{nginx} Normal Started Started container with docker id 269adc9b693a

6、查看service

  1. [root@k8s-master ~]# kubectl get service
  2. NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
  3. kubernetes 10.254.0.1 <none> /TCP 16h
  4. nginx-service-nodeport 10.254.29.72 <nodes> /TCP 49m
  1. [root@k8s-master ~]# kubectl describe service nginx-service-nodeport
  2. Name: nginx-service-nodeport
  3. Namespace: default
  4. Labels: <none>
  5. Selector: name=nginx
  6. Type: NodePort
  7. IP: 10.254.29.72
  8. Port: <unset> /TCP
  9. NodePort: <unset> /TCP
  10. Endpoints: 10.0.83.2:,10.0.83.3:
  11. Session Affinity: None
  12. No events.

7、测试service是否好用

因为service使用的是NodePort方式,所以在任何一个节点访问31152这个端口都可以访问nginx

  1. $ curl 10.10.20.203:
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <title>Welcome to nginx!</title>
  6. <style>
  7. body {
  8. width: 35em;
  9. margin: auto;
  10. font-family: Tahoma, Verdana, Arial, sans-serif;
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <h1>Welcome to nginx!</h1>
  16. <p>If you see this page, the nginx web server is successfully installed and
  17. working. Further configuration is required.</p>
  18.  
  19. <p>For online documentation and support please refer to
  20. <a href="http://nginx.org/">nginx.org</a>.<br/>
  21. Commercial support is available at
  22. <a href="http://nginx.com/">nginx.com</a>.</p>
  23.  
  24. <p><em>Thank you for using nginx.</em></p>
  25. </body>
  26. </html>
  1. $ curl 10.10.20.206:
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <title>Welcome to nginx!</title>
  6. <style>
  7. body {
  8. width: 35em;
  9. margin: auto;
  10. font-family: Tahoma, Verdana, Arial, sans-serif;
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <h1>Welcome to nginx!</h1>
  16. <p>If you see this page, the nginx web server is successfully installed and
  17. working. Further configuration is required.</p>
  18.  
  19. <p>For online documentation and support please refer to
  20. <a href="http://nginx.org/">nginx.org</a>.<br/>
  21. Commercial support is available at
  22. <a href="http://nginx.com/">nginx.com</a>.</p>
  23.  
  24. <p><em>Thank you for using nginx.</em></p>
  25. </body>
  26. </html>

k8s部署nginx集群的更多相关文章

  1. 日志分析系统 - k8s部署ElasticSearch集群

    K8s部署ElasticSearch集群 1.前提准备工作 1.1 创建elastic的命名空间 namespace编排文件如下: elastic.namespace.yaml --- apiVers ...

  2. 庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群

    庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群 一.简介      前面的两篇文章,我们已经介绍了Net Core项目基于Docker容器部署在Linux服 ...

  3. k8s部署etcd集群

    1.k8s部署高可用etcd集群时遇到了一些麻烦,这个是自己其中一个etcd的配置文件 例如: [Unit] Description=Etcd Server After=network.target ...

  4. Kubernetes(k8s)部署redis-cluster集群

    Redis Cluster 提供了一种运行 Redis 安装的方法,其中数据 在多个 Redis 节点之间自动分片. Redis Cluster 还在分区期间提供了一定程度的可用性,这实际上是在某些节 ...

  5. k8s部署kafka集群

    一.概述 在k8s里面部署kafka.zookeeper这种有状态的服务,不能使用deployment和RC,k8s提供了一种专门用来部署这种有状态的服务的API--statefulset,有状态简单 ...

  6. 阿里云k8s部署zookeeper集群

    1. 阿里云k8s创建有状态应用 StatefulSet ,  选择使用模板创建 可以创建自定义模板 apiVersion: apps/v1 kind: StatefulSet metadata: c ...

  7. Kubeadm部署K8S(kubernetes)集群(测试、学习环境)-单主双从

    1. kubernetes介绍 1.1 kubernetes简介 kubernetes的本质是一组服务器集群,它可以在集群的每个节点上运行特定的程序,来对节点中的容器进行管理.目的是实现资源管理的自动 ...

  8. NetCore在Centos7上部署和Nginx集群部署访问

    NetCore在Linux上部署 工具:WMWare虚拟机,Wmware12,CentOS7ISO镜像,VS2017 1.安装虚拟机,过程略,网上一搜一大把 2.用VS2017建一个NetCore的W ...

  9. .Net Core2.1 秒杀项目一步步实现CI/CD(Centos7.2)系列一:k8s高可用集群搭建总结以及部署API到k8s

    前言:本系列博客又更新了,是博主研究很长时间,亲自动手实践过后的心得,k8s集群是购买了5台阿里云服务器部署的,这个集群差不多搞了一周时间,关于k8s的知识点,我也是刚入门,这方面的知识建议参考博客园 ...

随机推荐

  1. 1.13(java学习笔记)异常机制

    异常不同于错误,它是程序运行时产生的未知问题. 如果把程序比喻成一辆汽车,那么汽车开着开着突然前面出现了一个大石头挡住了路,这就叫异常. 那么出现了这个异常我们需要去处理,比如打电话给公路管理局,让它 ...

  2. WPF中的DesignMode判断

    WPF中提供你一个类似WinForm的DesignMode属性的方法来判断当前是否处于设计器模式: bool IsInDesignMode    {        get { return Desig ...

  3. 在SQL Server中查看对象依赖关系

    原文 在SQL Server中查看对象依赖关系 Viewing object dependencies in SQL Server   Deleting or changing objects may ...

  4. 操作系统/etc/hosts文件配置

    windows对应 C:\Windows\system32\drivers\etc\hosts linux: /etc/hosts Hosts - The static table lookup fo ...

  5. 咏南下拉列表数据敏感控件--TYNDBSearch

    咏南下拉列表数据敏感控件--TYNDBSearch 拥有下拉列表控件可以大大地加速软件系统的开发. 控件适用于DELPHI5及以上版本安装并使用. 控件的用法: procedure Tfgoods.s ...

  6. Oracle truncate、 delete、 drop区别

    相同点: 1.truncate和不带where子句的delete.以及drop都会删除表内的数据. 2.drop.truncate都是DDL语句(数据定义语言),执行后会自动提交. 不同点: 1. t ...

  7. jsonObject关于xml,json,bean之间的转换关系

    1.json转换为JAVA @Test public void jsonToJAVA() { System.out.println("json字符串转java代码"); Strin ...

  8. Java 数字签名原理及产生

    数字签名与数字证书 关于数字签名的介绍可以参考以上这篇. 这里稍微说一下不对称加密的方式: 用公钥加密的内容只能用私钥解密,用私钥加密的内容只能用公钥解密. 这样比对称加密更安全 Java 中数字签名 ...

  9. http://www.cnblogs.com/hoojo/archive/2011/06/08/2075201.html

    http://www.cnblogs.com/hoojo/archive/2011/06/08/2075201.html

  10. JavaWeb教程路线

    主要内容大概例如以下: 1.开发环境搭建 2.servlet/jsp解说 3.mysql解说 4.JDBC解说 5.ssh解说 6.整合开发 7.样例具体解释