首页 > 其他分享 >k8s在pod内访问集群外部地址

k8s在pod内访问集群外部地址

时间:2022-12-12 09:55:37浏览次数:48  
标签:busybox name app v1 集群 pod k8s spec metadata

一. 使用IP
apiVersion: v1
kind: Service
metadata:
  name: nginx-ip
spec:
  ports:
    - protocol: TCP
      port: 88
---
apiVersion: v1
kind: Endpoints
metadata:
  name: nginx-ip
subsets:
  - addresses:
      - ip: 43.138.153.80
    ports:
      - port: 80 # IP相关的端口,可以是外部连接端口,也可以是内部容器连接端口

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: busybox
  labels:
    app: busybox
spec:
  replicas: 1
  selector:
    matchLabels:
      app: busybox
  template:
    metadata:
      labels:
        app: busybox
    spec:
      containers:
        - name: busybox
          image: appropriate/curl
          command: ["/bin/sh", "-c", "sleep 3600"]

在busybox容器中curl nginx-ip:88 即可访问外部地址43.138.153.80

二. 使用域名
apiVersion: v1
kind: Service
metadata:
  name: "baiducom" # 设置 IP 14.215.177.39和www.baidu.com 错误,不允许'.'
spec:
  type: ExternalName
  externalName: "www.baidu.com" # 设置 IP 14.215.177.39 无效
  ports:
  - port: 443

# 所以 externalName 的意义就是为外部域名设置一个别名,如上 为 www.baidu.com 设置别名 baiducom,以便 pod 内容器使用
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: busybox
  labels:
    app: busybox
spec:
  replicas: 1
  selector:
    matchLabels:
      app: busybox
  template:
    metadata:
      labels:
        app: busybox
    spec:
      containers:
        - name: busybox
          image: busybox
          command: ["/bin/sh", "-c", "sleep 3600"]

busybox中curl baiducom即可访问百度

标签:busybox,name,app,v1,集群,pod,k8s,spec,metadata
From: https://www.cnblogs.com/regit/p/16975291.html

相关文章

  • VMware快速搭建k8s集群 (CentOS-7.9|Docker-19.03.11|K8S-1.19.6|Flannel)kubeadm安装
    0.规划k8s-master192.168.239.120CPU:2核 内存:2G 磁盘:10GCentOS7.9k8s-node1192.168.239.121CPU:2核 内存:2G 磁盘:10GCentOS7.9k8s-node2192......
  • k8s 架构
    k8s基本架构MasterNode:控制面的节点WorkerNode:干活的节点Master中的组件APIServer:APIServer是整个k8s集群的唯一入口。Etcd:持久化存储,存储集群中各种资源的......
  • k8s API
    Job-CronJobJob:临时离线任务CronJob:定时离线任务Yaml文件描述Job:apiVersion:batch/v1kind:Jobmetadata:name:...labels:k:vk:v......
  • k8s Pod
    Pod是k8s的核心对象Pod是在k8s中创造,管理的最小可部署计算单元。通常不需要直接创建Pod,k8s集群中Pod主要有两种用法:运行单个容器的Pod运行包含多个容......
  • 使用kubeadm快速部署一个k8s集群
    kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。这个工具能通过两条指令完成一个kubernetes集群的部署:#创建一个Master节点$kubeadminit#将一个N......
  • 定义一个pod的
    pod主要参数apiVersion:v1#必选,API的版本号kind:Pod#必选,类型Podmetadata:#必选,元数据name:nginx#必选,符合RFC1035规范的Pod名称name......
  • Rancher 2.6管理k8s集群
    一、Rancher介绍1.Rancher简介Rancher是一个开源的企业级多集群Kubernetes管理平台,实现了Kubernetes集群在混合云+本地数据中心的集中部署与管理,以确保集群的安全......
  • 【k8s连载系列】2. k8s整体架构
    #一、Kubernetes的整体架构学习k8s,最终目的是为了部署应用,部署一个完整的k8s,就要知道k8s的组成。k8s主要包含两大部分:中间包含三个绿色包的是master服务器.下面是node......
  • k8s驱逐篇(5)-kube-controller-manager驱逐
    kube-controller-manager驱逐概述kube-controller-manager驱逐主要依靠NodeLifecycleController以及其中的TaintManager;kube-controller-manager驱逐分类(1)开启了污点驱......
  • k8s YAML
    YAML基础大小写敏感使用缩进表示层级关系缩进时不允许使用Tab键,只允许使用空格。缩进的空格数目不重要,只要相同层级的元素左侧对齐即可# 表示注释,从这个字符一直到......