pod

Tungsten Fabric与K8s集成指南丨创建安全策略

梦想的初衷 提交于 2020-03-05 18:03:44
作者:吴明秘 Hi!欢迎来到Tungsten Fabric与Kubernetes集成指南系列,本文介绍如何创建安全策略。Tungsten Fabric与K8s集成指南系列文章,由TF中文社区为您呈现,旨在帮助大家了解Tungsten Fabric与K8s集成的基础知识。大家在相关部署中有什么经验,或者遇到的问题,欢迎与我们联系。 安全策略可以通过限制端口、网络协议等方式控制任意pod之间的访问,以及pod与service之间的访问。在K8s集群中安全策略对应的是Network Policy,在Tungsten Fabric中安全策略对应的Firewall Rule,两者是会实时同步的。 pod之间的访问控制 安全策略的控制是全局的,跨命名空间,跨network,所以创建策略的时候要尽可能详细地指定此端到彼端的一些参数,包括端口、命名空间、IP地址段等等。 根据第二章节的信息,可以知道目前有—— 两个命名空间:test-ns1 test-ns2 三个network:k8s-ns1-pod-net01 k8s-ns1-pod-net02 k8s-ns2-pod-net01 四个pod: nginx01-ns1-net01 nginx01-ns1-net02 nginx01-ns2-net01 nginx02-ns2-net01 而k8s-ns1-pod-net01与k8s-ns1

阿里开源事件告警组件kube-eventer,让我们花5分钟一起实战体验

纵饮孤独 提交于 2020-03-05 15:23:52
[ ] 事件告警产生的背景 [ ] 阿里kube-event介绍、支持的通知程序 [ ] k8s1.16.3集群对接钉钉机器人实践 背景 监控是保障系统稳定性的重要组成部分,在Kubernetes开源生态中,资源类的监控工具与组件监控百花齐放。 cAdvisor:kubelet内置的cAdvisor,监控容器资源,如容器cpu、内存; Kube-state-metrics:kube-state-metrics通过监听 API Server 生成有关资源对象的状态指标,主要关注元数据,比如 Deployment、Pod、副本状态等; metrics-server:metrics-server 也是一个集群范围内的资源数据聚合工具,是 Heapster 的替代品,k8s的HPA组件就会从metrics-server中获取数据; 还有node-exporter、各个官方、非官方的exporter,使用 Prometheus 来抓取这些数据然后存储,告警,可视化。但这些还远远不够。 监控的实时性与准确性不足 大部分资源监控都是基于推或者拉的模式进行数据离线,因此通常数据是每隔一段时间采集一次,如果在时间间隔内出现一些毛刺或者异常,而在下一个采集点到达时恢复,大部分的采集系统会吞掉这个异常。而针对毛刺的场景,阶段的采集会自动削峰,从而造成准确性的降低。 监控的场景覆盖范围不足

iOS接入网易易盾并实现

二次信任 提交于 2020-03-05 12:49:27
一.接入网易易盾SDK 前言 1.此文章为Swift版本,OC版本可参考网易易盾官网接入实现文档 2.网易易盾SDK兼容iOS系统版本9.0+ CocoaPods集成方式 1.更新Podfile文件 在工程的 Podfile 里对应的 Target 中添加以下代码 pod 'VerifyCode' 2.集成SDK 在工程的当前目录下, 运行 pod install 或者 pod update 3.工程设置 在工程target目录内,需将Build Settings —> other link flags设置为-ObjC。 备注: 命令行下执行pod search VerifyCode,如显示的VerifyCode版本不是最新的,则先执行pod update操作更新本地repo的内容 如果想使用最新版本的SDK,则执行pod update 如果你的工程设置的"Deplyment Target"低于 9.0,则在Podfile文件的前面加上以下语句 platform :ios, ‘9.0’ 手动集成方式 1.前往官网下载SDK 链接: http://support.dun.163.com/documents/15588062143475712?docId=150442931089756160&locale=zh-cn 我一直搞不明白为什么要下载Demo,直接下载SDK不就完了… 2

Kubernetes系列之Kubernetes使用ingress-nginx作为反向代理

六眼飞鱼酱① 提交于 2020-03-05 00:52:29
Kubernetes系列之Kubernetes使用ingress-nginx作为反向代理 #一、Ingress简介 在Kubernetes中,服务和Pod的IP地址仅可以在集群网络内部使用,对于集群外的应用是不可见的。为了使外部的应用能够访问集群内的服务,在Kubernetes 目前 提供了以下几种方案: NodePort LoadBalancer Ingress ###1、Ingress组成 ingress controller   将新加入的Ingress转化成Nginx的配置文件并使之生效 ingress服务   将Nginx的配置抽象成一个Ingress对象,每添加一个新的服务只需写一个新的Ingress的yaml文件即可 ###2、Ingress工作原理 1.ingress controller通过和kubernetes api交互,动态的去感知集群中ingress规则变化, 2.然后读取它,按照自定义的规则,规则就是写明了哪个域名对应哪个service,生成一段nginx配置, 3.再写到nginx-ingress-control的pod里,这个Ingress controller的pod里运行着一个Nginx服务,控制器会把生成的nginx配置写入/etc/nginx.conf文件中, 4.然后reload一下使配置生效。以此达到域名分配置和动态更新的问题。 ###3

k8s

孤人 提交于 2020-03-05 00:51:28
1:k8s集群的安装 1.1 k8s的架构 Master: API-Server 核心服务 Controller Manager 监控容器的状态实现自愈功能 Scheduler 调度器:挑选合适的节点创建容器 etcd 数据库 node: kubelet 通过docker创建容器 cadvisor 普罗米修斯监控容器 pod 每个容器都被封装到pod资源里 Kube-Proxy 负载均衡 网络插件:flannel容器之间跨宿主机通讯,将ip地址分配信息自动写入etcd中 除了核心组件,还有一些推荐的Add-ons: 组件名称 说明 kube-dns 负责为整个集群提供DNS服务 Ingress Controller 为服务提供外网入口 Heapster 提供资源监控 Dashboard 提供GUI Federation 提供跨可用区的集群 Fluentd-elasticsearch 提供集群日志采集、存储与查询 1.2 修改IP地址、主机名和host解析 10.0.0.11 k8s-master 10.0.0.12 k8s-node-1 10.0.0.13 k8s-node-2 所有节点需要做hosts解析 1.3 master节点安装etcd(数据库服务) 第一步:安装数据库服务 [root@k8s-master ~]# yum install etcd -y 第二步

Kubernetes系列之Kubernetes使用ingress-nginx作为反向代理

ぐ巨炮叔叔 提交于 2020-03-05 00:29:33
Kubernetes系列之Kubernetes使用ingress-nginx作为反向代理 #一、Ingress简介 在Kubernetes中,服务和Pod的IP地址仅可以在集群网络内部使用,对于集群外的应用是不可见的。为了使外部的应用能够访问集群内的服务,在Kubernetes 目前 提供了以下几种方案: NodePort LoadBalancer Ingress ###1、Ingress组成 ingress controller   将新加入的Ingress转化成Nginx的配置文件并使之生效 ingress服务   将Nginx的配置抽象成一个Ingress对象,每添加一个新的服务只需写一个新的Ingress的yaml文件即可 ###2、Ingress工作原理 1.ingress controller通过和kubernetes api交互,动态的去感知集群中ingress规则变化, 2.然后读取它,按照自定义的规则,规则就是写明了哪个域名对应哪个service,生成一段nginx配置, 3.再写到nginx-ingress-control的pod里,这个Ingress controller的pod里运行着一个Nginx服务,控制器会把生成的nginx配置写入/etc/nginx.conf文件中, 4.然后reload一下使配置生效。以此达到域名分配置和动态更新的问题。 ###3

pod》error:The dependency `` is not used in any concrete target

醉酒当歌 提交于 2020-03-04 22:08:20
一、概要 iOS 开发时,项目中会引用许多第三方库,CocoaPods( https://github.com/CocoaPods/CocoaPods )可以用来方便的统一管理这些第三方库(从一个坑出来,又进了另一个坑而已……)。 二、安装 由于网上的教程基本都大同小异,但细节之处还不是很完善,所以借机会在这里补充下: 注:要使用CocoaPods,那就要下载安装它,而下载安装CocoaPods需要Ruby环境 1、Ruby环境搭建 当前安装环境为Mac mini 10.8.5。Mac OS本身自带Ruby,但还是更新一下保险,因为我第一次安装在没有更新Ruby的情况下就失败了。 a 查看下当前ruby版本:打开终端输入 ruby -v(确实安装了,不过用这个版本接下来工作失败了,所以更新下ruby) ritekiMac-mini:PodTest lucky$ ruby -v ruby 1 .8 .7 ( 2 0 1 2- 0 2- 0 8 patchlevel 3 5 8) [universal-darwin 1 2 .0] ritekiMac-mini:PodTest lucky$ b 更新ruby 终端输入如下命令(把Ruby镜像指向taobao,避免被墙,你懂得) gem sources --remove https://rubygems.org/ gem sources

CentOS 学习Kubernetes(一)

空扰寡人 提交于 2020-03-04 16:07:11
前提:安装了virtualbox、kubectl、minikube、docker 1、Start a cluster: 注意添加国内镜像,否则无法启动成功 minikube start --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers' --registry-mirror=https://registry.docker-cn.com --insecure-registry="192.168.1.101:5000" --vm-driver=virtualbox 在minikube start的后面要设置的参数: --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers' 设置从阿里云上下载minikube的镜像 --registry-mirror=https://registry.docker-cn.com 设置docker的镜像从这个网站拉取,速度快 --insecure-registry="192.168.1.101:5000" 如果创建了本地docker仓库,必须加上这句,"本地仓库ip:5000" --vm-driver=virtualbox 从virtualbox虚拟机启动minikube

k8s学习总结(五)

二次信任 提交于 2020-03-04 15:37:30
pod yaml解析 apiVersion: v1    #必选,版本号,例如v1,版本号必须可以用 kubectl api-versions 查询到 kind: Pod        #必选,Pod metadata:        #必选,元数据 name: string    #必选,Pod名称 namespace: string    #必选,Pod所属的命名空间,默认为"default" labels:        #自定义标签 - name: string   #自定义标签名字 annotations:    #自定义注释列表 - name: string spec:         #必选,Pod中容器的详细定义 containers:      #必选,Pod中容器列表 - name: string    #必选,容器名称,需符合RFC 1035规范 image: string    #必选,容器的镜像名称 imagePullPolicy: [ Always|Never|IfNotPresent ] #获取镜像的策略 Alawys表示下载镜像 IfnotPresent表示优先使用本地镜像,否则下载镜像,Nerver表示仅使用本地镜像 command: [string]    #容器的启动命令列表,如不指定,使用打包时使用的启动命令 args: [string]  

深入理解 Kubernetes 资源限制:CPU

谁说胖子不能爱 提交于 2020-03-04 09:30:14
原文地址: https://www.yangcs.net/posts/understanding-resource-limits-in-kubernetes-cpu-time/ 在关于 Kubernetes 资源限制的系列文章的 第一篇文章 中,我讨论了如何使用 ResourceRequirements 对象来设置 Pod 中容器的内存资源限制,以及如何通过容器运行时和 linux control group( cgroup )来实现这些限制。我还谈到了 Requests 和 Limits 之间的区别,其中 Requests 用于在调度时通知调度器 Pod 需要多少资源才能调度,而 Limits 用来告诉 Linux 内核什么时候你的进程可以为了清理空间而被杀死。在这篇文章中,我会继续仔细分析 CPU 资源限制。想要理解这篇文章所说的内容,不一定要先阅读上一篇文章,但我建议那些工程师和集群管理员最好还是先阅读完第一篇,以便全面掌控你的集群。 1. CPU 限制 正如我在上一篇文章中提到的, CPU 资源限制比内存资源限制更复杂,原因将在下文详述。幸运的是 CPU 资源限制和内存资源限制一样都是由 cgroup 控制的,上文中提到的思路和工具在这里同样适用,我们只需要关注他们的不同点就行了。首先,让我们将 CPU 资源限制添加到之前示例中的 yaml: resources: