几个kubernetes知识点

  • pods = pod+pod+pod+···
  • 每个pod在工作节点(worker)上,并且每个pod在全局k8s集群中有唯一的IP地址,此IP是k8s集群内部控制生成的虚拟IP,外网是无法ping通pod的ip
  • 一个pod可以有多个(>=1)容器,但是单个pod内部的容器之间对外开放的端口号必须唯一,因为pod内部的容器之间可以通过localhost直接访问
  • 如果外网需要访问pod内部的容器服务,那么就需要k8s建立一组网络服务映射,连接内外部网络。

使用k8s部署nginx并外网访问

1. 写在前面:自己的k8s集群信息

  • 共两台linux,master为集群管理角色,worker为集群实际工作角色
  • master:192.168.192.131
  • worker:192.168.192.131、192.168.192.132

2. 创建namespase.yaml

apiVersion: v1 #类型为Namespace
kind: Namespace  #类型为Namespace
metadata:name: ssx-nginx-ns  #命名空间名称labels:name: lb-ssx-nginx-ns

kubectl create -f namespase.yaml
kubectl get namespace

3.创建deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:labels:app: nginx #为该Deployment设置key为app,value为nginx的标签name: ssx-nginx-dmnamespace: ssx-nginx-ns
spec:replicas: 2 selector: #标签选择器,与上面的标签共同作用matchLabels: #选择包含标签app:nginx的资源app: nginxtemplate: #这是选择或创建的Pod的模板metadata: #Pod的元数据labels: #Pod的标签,上面的selector即选择包含标签app:nginx的Podapp: nginxspec: #期望Pod实现的功能(即在pod中部署)containers: #生成container,与docker中的container是同一种- name: ssx-nginx-cimage: nginx:latest #使用镜像nginx: 创建container,该container默认80端口可访问ports:- containerPort: 80  # 开启本容器的80端口可访问
  • 查询ssx-nginx-ns命名空间下的pods
    kubectl get pods -n ssx-nginx-ns -o wide

    [root@node131 ~]# kubectl get pods -n ssx-nginx-ns -o wideNAME                            READY   STATUS    RESTARTS   AGE   IP              NODE      NOMINATED NODE   READINESS GATESssx-nginx-dm-76ddccf49c-65d82   1/1     Running   0          10m   10.234.240.29   node131   <none>           <none>ssx-nginx-dm-76ddccf49c-lwtls   1/1     Running   0          10m   10.234.4.45     node132   <none>           <none>
    
  • 此时查询集群的pods:新增一个ssx-nginx-dm,并且该pod的ip地址是10.234.x.x
    并且外网无法访问nginx服务,但是同一个pod中的其他容器可以通过localhost:80来访问nginx

4. 创建service.yaml

apiVersion: v1
kind: Service
metadata:labels:app: nginxname: ssx-nginx-svnamespace: ssx-nginx-ns
spec:ports:- port: 9000 #我暂时不理解,这个设置 明明没用到?name: ssx-nginx-lastprotocol: TCPtargetPort: 80 # 容器nginx对外开放的端口 上面的dm已经指定了nodePort: 31090 #外网访问的端口selector:app: nginxtype: NodePort

5. 在外网打开浏览器 http://192.168.192.132:31090

即可实现访问nginx


end

k8s部署应用nginx相关推荐

  1. K8S部署nginx应用

    尝试在K8S中部署一个nginx应用. 在master节点上执行: [root@k8smaster ~]# kubectl create deployment nginx --image=nginx ...

  2. 笔记-Ubuntu部署K8s,启动nginx服务

    部署K8s,我切到了root用户进行部署 su root 启动Docker systemctl enable docker systemctl status docker systemctl star ...

  3. 【实战】K8S部署Nacos微服务

    前言 1.这篇文章 花了4-5天的时间才写完的 2.吐槽下自己 感觉自己有点笨啊 k8s网络访问那块卡的时间有点久 3.下面再继续研究下k8s网络这块 争取先在应用层面啃的透透的 4.本着负责任的态度 ...

  4. k8s部署zabbix_Kubernetes 中部署 Zabbix

    Zabbix 简介[1] Zabbix 是由 Alexei Vladishev 开发的一种网络监视.管理系统,基于 Server-Client 架构.可用于监视各种网络服务.服务器和网络机器等状态. ...

  5. 【云原生 | Kubernetes 系列】1个POD2个container实现Wordpress K8s部署

    1. Wordpress架构 2. 构建wordpress镜像 2.1 构建nginx-base-wordpress镜像 Dockerfile FROM harbor.intra.com/baseim ...

  6. 记一次阿里云k8s部署-测试存储

    记一次阿里云k8s部署 阿里云资源准备 服务器 ip 角色 资源 192.168.1.160 master1 2核4G 192.168.1.161 master2 2核4G 192.168.1.162 ...

  7. 高可用集群篇(五)-- K8S部署微服务

    高可用集群篇(五)-- K8S部署微服务 一.K8S有状态服务 1.1 什么是有状态服务 1.2 k8s部署MySQL 1.2.1 创建MySQL主从服务 1.2.2 测试主从配置 1.2.3 k8s ...

  8. 原生K8S部署pig微服务项目

    原生K8S部署pig微服务项目 简介 项目地址:码云 Pig微服务项目 基于 Spring Cloud 2021 .Spring Boot 2.7. OAuth2 的 RBAC 权限管理系统 基于数据 ...

  9. k8s 部署 TCP node应用

    k8s 部署 TCP node应用 之前我们已经成功的将node的http应用部署到k8s集群内,但某些业务不仅仅需要http应用还需要TCP长连接应用,本文将对部署tcp应用的步骤及问题进行总结 本 ...

  10. (干货)如何在k8s部署应用

    技术的本质是用来解决问题 先赞后看,养成习惯 本文章适合对如何在k8s部署应用感兴趣的小伙伴.如果你现在在为如何在k8s部署应用而烦恼,或者是你需要deployment.yaml,service.ya ...

最新文章

  1. 认识Linux的磁盘配额(转载)
  2. 运动想象脑机接口中迁移学习的完整流程
  3. Hack Into Linux Packet Schedulers
  4. 兰州大学C语言程序设计课程作业,兰州大学C语言程序设计课程作业1附答案.doc...
  5. 入职体检——项目列表(11项)
  6. CMake中的ARGC ARGV 和ARGN参数意义
  7. ASP.NET Core在MacOS上建立HTTPS开发证书
  8. Oracle开发环境安装与使用
  9. spring Boot 学习(一、Spring Boot与缓存)
  10. 计算机学科融合信息技术,信息技术与学科教学融合课例解析
  11. java 规范 阿里巴巴_阿里巴巴 Java 代码规范
  12. 批评性思维工具第11章 应对自身非理性
  13. 【Linux】进程间通信之消息队列
  14. matlab的colorbar取对数
  15. 快恢复二极管工作原理及使用
  16. QT下的几种透明效果
  17. 417. 太平洋大西洋水流问题(DFS)
  18. ios客户端发现_世界杯送流量活动项目总结
  19. Python OpenCV基于颜色通道分离法去除图片中的红色印章
  20. BUUCTF:文件中的秘密

热门文章

  1. Elastic Search Java Api 创建索引结构,添加索引
  2. SCVMM2008测试手册
  3. 3.性能之巅 洞悉系统、企业与云计算 --- 操作系统
  4. 29.yii2 RBAC
  5. 8.高性能MySQL --- 优化服务器设置
  6. 13. Element childNodes 属性
  7. 4. php运行过程时序图
  8. linux 查看libevent 安装目录,关于Linux下libevent库的基础安装和使用
  9. KETTLE集群搭建
  10. JavaScript DOM(一)