首页 文章 精选 留言 我的

精选列表

搜索[k8s],共3912篇文章
优秀的个人博客,低调大师

K8S service (四)

ExternalName 把集群外部的服务引入到集群内部中来,实现了集群内部pod和集群外 部的服务进行通信ExternalName 类型的服务适用于外部服务使用域名的方式,缺点是不能指定端口 注意: 集群内的Pod会继承Node上的DNS解析规则。所以只 要Node可以访问的服务,Pod中也可以访问到, 这就实现了集群内服务 访问集群外服务 一、将公网域名引入 1, 编写YAML文件 vim externelname.yml apiVersion: v1 kind: Service metadata: name: my-externalname namespace: default spec: type: ExternalName externalName: www.baidu.com # 对应的外部域名为www.baidu.com 2, 应用YAML文件 kubectl apply -f externelname.yml kubectl get svc |grep exter 3, 查看my-service的dns解析 dig -t A my-externalname.default.svc.cluster.local.@10.68.153.83 kubectl exec -it deploy-nginx-6c9764bb69-7k86s -- /bin/sh/ # nslookup www.baidu.com / # nslookup my-externalname.default.svc.cluster.local 解析此my-externalname.default.svc.cluster.local域名和解析 www.baidu.com是一样的结果 二、不同namespace服务名引入 1, 创建ns1命名空间和相关deploy, pod,service vim ns1-nginx.yml apiVersion: v1 kind: Namespace metadata: name: ns1 # 创建ns1命名空间 --- apiVersion: apps/v1 kind: Deployment metadata: name: deploy-nginx namespace: ns1 # 属于ns1命名空间 spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.15-alpine imagePullPolicy: IfNotPresent ports: - containerPort: 80 --- apiVersion: v1 kind: Service metadata: name: svc1 # 服务名 namespace: ns1 # 属于ns1命名空间 spec: selector: app: nginx clusterIP: None # 无头service ports: - port: 80 targetPort: 80 --- kind: Service apiVersion: v1 metadata: name: external-svc1 namespace: ns1 # 属于ns1命名空间 spec: type: ExternalName externalName: svc2.ns2.svc.cluster.local # 将ns2空间的svc2服务引入到ns1命名空间 kubectl apply -f ns1-nginx.yml 2.创建ns2命名空间和相关deploy, pod,service vim ns2-nginx.yml apiVersion: v1 kind: Namespace metadata: name: ns2 # 创建ns2命名空间 --- apiVersion: apps/v1 kind: Deployment metadata: name: deploy-nginx namespace: ns2 # 属于ns2命名空间 spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.15-alpine imagePullPolicy: IfNotPresent ports: - containerPort: 80 --- apiVersion: v1 kind: Service metadata: name: svc2 # 服务名 namespace: ns2 # 属于ns2命名空间 spec: selector: app: nginx clusterIP: None # 无头service ports: - port: 80 targetPort: 80 --- kind: Service apiVersion: v1 metadata: name: external-svc2 namespace: ns2 # 属于ns2命名空间 spec: type: ExternalName externalName: svc1.ns1.svc.cluster.local # 将ns1空间的svc1服务引入到ns2命名空间 kubectl apply -f ns2-nginx.yml 3, 在ns1命名空间的pod里验证 kubectl get pods -n ns1kubectl exec -it -n ns1 deploy-nginx-6c9764bb69-g5xl8 -- /bin/sh/ # nslookup svc1/ # nslookup svc2.ns2.svc.cluster.local/ # nslookup external-svc1.ns1.svc.cluster.local. # 将 ns2里的svc2服务引到了ns1里的名字,也可以访问/ # exit kubectl get pods -o wide -n ns1kubectl get pods -o wide -n ns2 反之,在ns2命名空间的pod里访问ns1里的service也是OK的(请自行验证) 4, 验证ns2中的pod的IP变化, ns1中的pod仍然可以使用访问 kubectl get pod -n ns2kubectl delete pod deploy-nginx-6c9764bb69-mk62x -n ns2 因为有replicas控制器,所以删除pod会自动拉一个起来 kubectl get pod -o wide -n ns2 pod名称变了,IP也变成了172.20.166.187 5.回到ns1中的pod验证 kubectl exec -it -n ns1 deploy-nginx-6c9764bb69-g5xl8 -- /bin/sh/ # ping external-svc1.ns1.svc.cluster.local -c 2/ # exit

优秀的个人博客,低调大师

KubeCon: Flink on K8s

目录 集群概况 玩转Flink on Kubernetes WindowJoin SQL 集群概况 BigData Manager简介 BigData on Kubernetes 部署向导 运维管理 开发者IDE 玩转Flink on Kubernetes WindowJoin 简介 Example illustrating a windowed stream join between two data streams.The example works on two input streams with pairs (name, grade) and (name, salary) respectively. It joins the steams based on "name" within a configurable window. The example uses a built-in sample data generator that generates the steams of pairs at a configurable rate. Source1:name, grade Source2:name, salary Result:name, grade, salary 过程 创建Deployment 浏览器打开 0) http://47.92.41.71:8080/app/ 1) http://39.98.106.146:8080/app/ 2) http://39.98.8.131:8080/app/ 3) http://39.98.7.153:8080/app/ 4) http://39.98.106.174:8080/app/ 5) http://39.98.8.106:8080/app/ 6) http://39.98.106.162:8080/app/ 7) http://47.92.44.149:8080/app/ 8) http://39.98.7.241:8080/app/ 9) http://39.98.7.20:8080/app/ 创建Deployment Organization中输入用户名 Configuration: Intepreter选择Blink/JAR Blink Version: 3.2.1 / blink-3.2-SNAPSHOT Jar URI: hdfs:///example/flink-examples-WindowJoin.jar entryClass: org.apache.flink.streaming.examples.join.WindowJoin 点击Create Deployment 启动job 如上图操作 查看结果 点击“Blink UI”,跳转到Apache Flink的dashboard Jobs -> Running Jobs -> Windowed Join Example 结果日志查看:Task Managers -> Path, ID -> Log 停止Job 回到Deployment页面,点击Cancel(集群资源有限,为了后续体验,请一定停掉此job) SQL 简介 实时热门商品, 每隔5分钟输出最近一小时内点击量最多的前 N 个商品(例子详情,请移步http://wuchong.me/blog/2018/11/07/use-flink-calculate-hot-items/ ,天池大赛的数据) 列名称 说明 用户ID 整数类型,加密后的用户ID 商品ID 整数类型,加密后的商品ID 商品类目ID 整数类型,加密后的商品所属类目ID 行为类型 字符串,枚举类型,包括(‘pv’, ‘buy’, ‘cart’, ‘fav’) 时间戳 行为发生的时间戳,单位秒 过程 创建Deployment 创建Deployment Configuration: Intepreter选择Blink/SQL Execution Mode:STREAM Blink Version: 3.2.1 / blink-3.2-SNAPSHOT Artifact:HotItem Runtime Configuration: state.backend.type = rocksdb state.backend.rocksdb.ttl.ms = 129600000 Job信息

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。