pod

iOS开发~CocoaPods使用详细说明

两盒软妹~` 提交于 2020-01-12 09:17:05
一、概要 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 -a https://ruby

001.Kubernetes简介

半腔热情 提交于 2020-01-11 18:40:18
一 Kubernetes概述 名称 Kubernetes 源于希腊语,意为 “舵手” 或 “飞行员”。Google 在 2014 年开源了 Kubernetes 项目,Kubernetes 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。Kubernetes 拥有一个庞大且快速增长的生态系统。Kubernetes 的服务、支持和工具广泛可用。 1.1 容器发展由来 传统部署时代: 早期,组织在物理服务器上运行应用程序。无法为物理服务器中的应用程序定义资源边界,这会导致资源分配问题。例如,如果在物理服务器上运行多个应用程序,则可能会出现一个应用程序占用大部分资源的情况,结果可能导致其他应用程序的性能下降。一种解决方案是在不同的物理服务器上运行每个应用程序,但是由于资源利用不足而无法扩展,并且组织维护许多物理服务器的成本很高。 虚拟化部署时代: 作为解决方案,引入了虚拟化功能,它允许您在单个物理服务器的 CPU 上运行多个虚拟机(VM)。虚拟化功能允许应用程序在 VM 之间隔离,并提供安全级别,因为一个应用程序的信息不能被另一应用程序自由地访问。 因为虚拟化可以轻松地添加或更新应用程序、降低硬件成本等等,所以虚拟化可以更好地利用物理服务器中的资源,并可以实现更好的可伸缩性。 每个 VM 是一台完整的计算机,在虚拟化硬件之上运行所有组件

k8s部署前后端项目

邮差的信 提交于 2020-01-11 09:57:05
1、前端镜像 map-web:0106 后端镜像 mapapp1:0103 Pod的yaml文件 --- apiVersion: v1 kind: Pod metadata: name: map-web spec: containers: - name: web image: map-web:0106 ports: - containerPort: 80 创建一个pod kubectl apply -f map.yaml 来源: CSDN 作者: weixin_41709748 链接: https://blog.csdn.net/weixin_41709748/article/details/103858008

k8s学习笔记(7)--- kubernetes核心组件之apiserver详解

雨燕双飞 提交于 2020-01-11 07:46:03
kubernetes核心组件之apiserver详解 1、API Server简介 1.1 API Server的功能 1.2 kube-apiserver工作原理 1.3 访问kubernetes API 1.4 API server和集群模块的交互 1.4.1 API Server与kubelet的交互 1.4.2 API Server与kube-controller-manager交互 1.4.3 API Server与kube-scheduler交互 2、API Server启动参数详解 3、API Server安装和运行 1、API Server简介 k8s API Server提供了k8s各类资源对象(pod,RC,Service等)的增删改查及watch等HTTP Rest接口,是整个系统的数据总线和数据中心 。 1.1 API Server的功能 提供了集群管理的REST API接口 (包括认证授权、数据校验以及集群状态变更); 提供其他模块之间的数据交互和通信的枢纽 (其他模块通过API Server查询或修改数据,只有API Server才直接操作etcd); 是资源配额控制的入口 ; 拥有完备的集群安全机制 ; 1.2 kube-apiserver工作原理 kube-apiserver提供了k8s的rest api,实现了认证、授权和准入控制等安全功能

K8s configMap原理介绍

白昼怎懂夜的黑 提交于 2020-01-11 00:59:41
给容器内应用程序传递参数的实现方式:   1. 将配置文件直接打包到镜像中,但这种方式不推荐使用,因为修改配置不够灵活。   2. 通过定义Pod清单时,指定自定义命令行参数,即设定 args:["命令参数"],这种也    可在启动Pod时,传参来修改Pod的应用程序的配置文件.   3. 使用环境变量来给Pod中应用传参修改配置    但要使用此种方式,必须符合以下前提之一:    1) Pod中的应用程序必须是Cloud Native的应用程序,即支持直接通过环境变量来加载配置信息。    2) 通过定义Entrypoint脚本的预处理变量来修改Pod中应用程序的配置文件,这些Entrypoint脚本     可以使用set,sed,grep等工具来实现修改,但也要确保容器中有这些工具。   4.存储卷: 我们可将配置信息直接放到存储卷中,如PV中,Pod启动时,自动挂载存储卷到配置文件目录,    来实现给Pod中应用提供不同的配置。   5. configMap 或 secret      configMap的主要作用:   就是为了让镜像 和 配置文件解耦,以便实现镜像的可移植性和可复用性,因为一个configMap其实就是一系列配置信息的集合,将来可直接注入到Pod中的容器使用,而注入方式有两种,一种将configMap做为存储卷

Mac下安装CoCoaPods及使用CoCoaPods管理第3方库

非 Y 不嫁゛ 提交于 2020-01-11 00:53:27
一、CoCoaPods安装步骤 由于CoCoaPods服务器在国外,速度比较慢,所以使用淘宝的镜像,内容是一样的 1.终端中添加淘宝源地址 sudo gem sources - a https : //ruby.taobao.org/ 2.删除国外地址 sudo gem sources - r https : //rubygems.org/ 3.安装CoCoaPods,安装过程需要一段时间,请等待,出现gem installed就成功了 sudo gem install cocoapods 4.启动CoCoaPods pod setup 二、 CoCoaPods管理第3方库 1.在终端切换Xcode工程目录,需要提前创建工程 2.在工作目录执行命令,创建Podfile文件 pod init 3.搜索第三方库名字,复制出现的类似于pod 'AFNetworking'的命令 pod search 'xxx' 3.打开并修改Podfile文件,打开注释,在target和end之间添加需要安装框架 //最低支持版本 platform :ios, '8.0' //swift项目才需要打开的注释 #use_frameworks! pod 'AFNetworking' pod 'SVProgressHUD' pod 'SDWebImage’ pod ‘Masonry’ 4.安装 pod

Kubernetes-Docker(理论)-1

吃可爱长大的小学妹 提交于 2020-01-10 22:24:15
Kubernetes-Docker集群管理 Kubernetes介绍 Kubernetes是一个开源的Docker容器编排系统,Kubernetes简称K8S。 调度计算集群的节点,动态管理上面的作业 通过使用[labels]和[pods]的概念,将应用按逻辑单元进行分组 K8S用于容器应用程序的部署,扩展和管理 K8S提供了容器编排,资源调度,弹性伸缩,部署管理,服务发现等一系列功能 Kubernetes目标是让部署容器化应运简单高效 官方网站: http://www.kubernetes.io Kubernetes特性 自我修复 在节点故障时重新启动失败的容器,替换和重新部署,保证预测的副本数量;杀死健康检查失败的容器,并且在未准备好之前不会处理客户端请求,确保线上服务不中断。 弹性伸缩 使用命令、UI或者基于CPU使用情况自动快速扩容和缩容应用程序实例,保证应用业务高峰并发时的高可用性;业务低峰时回收资源,以最小成本运行服务 自动部署和回滚 K8S采用滚动更新应用,一次更新一个Pod,而不是同时删除所有Pod,如果更新过程中出现问题,将回滚更改,确保升级不受影响业务 服务发现和负载均衡 K8S为多个容器提供一个统一的访问入口(内部IP地址和UI个DNS地址),并且负载均衡关联的所有容器,使得用户无需考虑容器IP问题 机密和配置管理 管理机密数据和应用程序配置

kubernetes 1.9.3自动伸缩HPA HorizontalPodAutoscaler配置

a 夏天 提交于 2020-01-10 22:14:24
排错 1: Warning FailedGetResourceMetric 12s (x41 over 20m) horizontal-pod-autoscaler unable to get metrics for resource cpu: unable to fetch metrics from API: the server could not find the requested resource (get pods.metrics.k8s.io) 解决:kube-controller-manager的启动项加上: --horizontal-pod-autoscaler-use-rest-clients=false 阿里云K8S:修改/etc/kubernetes/kube-controller-manager.yaml systemctl daemon-reload systemctl restart kube-controller-manager 2: heapster启动参数加入: --api-server 3: missing request for cpu on container xxxx in pod xxxx/xxxx-xxxxxxxxxxx-xxxxxx 解决:给该应用加上request资源限制 来源: 51CTO 作者: 安啼 链接: https:/

同一k8s集群中多nginx ingress controller

我们两清 提交于 2020-01-10 18:03:18
同一k8s集群中多nginx ingress controller 同一k8s集群中,若有多个项目(对应多个namespace)共用一个nginx ingress controller,因此任意注册到ingress的服务有变更都会导致controller配置重载,当更新频率越来越高时,此controller压力会越来越大,理想的解决方案就是每个namespace对应一个nginx ingress controller,各司其职。 NGINX ingress controller提供了ingress.class参数来实现多ingress功能 使用示例 如果你已配置好多个nginx ingress controller,则可在创建ingress时在annotations中指定使用ingress.class为nginx(示例)的controller: metadata: name: foo annotations: kubernetes.io/ingress.class: "nginx" 注意:将annotation设置为与有效ingress class不匹配的任何值将强制controller忽略你的ingress。 如果你只运行单个controller,同样annotation设置为除此ingress class或空字符串之外的任何值也会被controller忽略。 配置多个nginx

k8s部署有状态服务zookeeper示例

时光毁灭记忆、已成空白 提交于 2020-01-10 17:58:43
我们先不考虑配置文件的前提下: apiVersion: apps/v1 kind: StatefulSet #####固定hostname,有状态的服务使用这个 statefalset有个问题,就是如果那个pod不是running状态,这个主机名是无法解析的,这样就构成了一个死循环,我sed替换主机名的时候由于pod还不是running状态,她只能获取自己的主机名。无法获取别人的主机名,所以在zookeeper中换成了换成了ip metadata: name: zookeeper spec: serviceName: zookeeper ####所以生成的3个pod的名字叫zookeeper-0,zookeeper-1,zookeeper-2 replicas: 3 revisionHistoryLimit: 10 selector: ##statefulset必须有的 matchLabels: app: zookeeper template: metadata: labels: app: zookeeper spec: volumes: - name: volume-logs hostPath: path: /var/log/zookeeper containers: - name: zookeeper image: harbor.test.com/middleware