k8s介绍以及结构
功能:
数据卷:pod中容器之间共享数据,可以使用数据卷
应用程序健康检查:容器内服务可能进程堵塞无法处理请求,可以设置监控检查保证应用健壮性
复制应用程序实例:控制器维护着pod副本数量,保证一个pod或一组同类的pod数量始终可用
弹性伸缩:根据设定的指标(CPU利用率)自动缩放Pod副...[2019/3/21]
kubernetes deployment升级和回滚
a.创建deployment pod
kubectl run mynginx --image=docker.io/nginx:1.13 --replicas=4 --record
准备svc文件
apiVersion: v1
kind: Service
metadata...[2019/3/21]
yum方式安装kubernetes
环境准备 master01 node01 node02,连通网络,修改hosts文件,确认3台主机相互解析
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdo...[2019/3/20]
Kubernetes的污点和容忍(上篇)Kubernetes的污点和容忍(上篇)
背景
搭建了一个k8s(Kubernetes)的事件监听服务,监听事件之后对数据做处理。有天报了一个问题经调查是新版本的k8s集群添加会把unschedule等信息通过污点的方式反映。而这些污点是只有key没有value的。我的服务中只对value不会空的进行了处理就不对了。
发现这个问题,...[2019/3/19]
【转】k8s 集群部署问题整理
1、hostname “master” could not be reached在host中没有加解析
2、curl -sSL http: localhost:10248/healthzcurl: (7) Failed connect to localhost:1024...[2019/3/18]
使用kubeadm安装kubernetes高可用集群
kubeadm安装kubernetes高可用集群搭建
第一步:首先搭建etcd集群
yum install -y etcd
配置文件 /etc/etcd/etcd.confETCD_NAME=infra1
ETCD_DATA_DIR="/var/lib/etcd"
ETC...[2019/3/13]
《k8s-1.13版本源码分析》-调度预选
本文大纲
预选流程
predicate的并发
一个node的predicate
predicates的顺序
单个predicate执行过程
具体的predicate函数
本系列文章已经开源到github:https: gith...[2019/3/11]
《k8s-1.13版本源码分析》- 调度器设计
本文原始地址:https: farmer-hutao.github.io/k8s-source-code-analysi core cheduler/desigh.html
github项目地址:https: github.com/farmer-hutao/k8s-source-code-an...[2019/2/22]
Docker+Kubernetes 干货文章精选
主要涉及到以下关键字: K8S、Docker、微服务、安装、教程、网络、日志、存储、安全、工具、CI/CD、分布式、实践、架构等; 以下盘点2018年一些精选优质文章!漫画形式: 漫画:小黄人学 Service Mesh 之 Istio 漫画:Kubernetes中的ConfigMap和...[2019/2/19]
详细聊聊k8s deployment的滚动更新(二)
一、知识准备
● 本文详细探索deployment在滚动更新时候的行为
● 相关的参数介绍:
??livene Probe:存活性探测。判断pod是否已经停止
??readine Probe:就绪性探测。判断pod是否能够提供正常服务
??maxSurge:在滚动更新过程中最多可以存在...[2019/2/12]
详细聊聊k8s deployment的滚动更新(一)
一、知识准备
● 本文详细探索deployment在滚动更新时候的行为
二、环境准备
组件
版本
OS
Ubuntu 18.04.1 LTS
docker
18.06.0-ce
三、准备镜像
首先准备2个不同版本的镜像,用于测试(已经在阿里云上创建...[2019/1/30]
更新k8s镜像版本的三种方式
一、知识准备
更新镜像版本是在k8s日常使用中非常常见的一种操作,本文主要介绍更新介绍的三种方法
二、环境准备
组件
版本
OS
Ubuntu 18.04.1 LTS
docker
18.06.0-ce
三、准备镜像
首先准备2个不同版本的镜像,用...[2019/1/25]
二进制安装 kubernetes 1.12(三) - 部署 Master 节点组件
在Master节点部署组件
在部署Kubernetes之前一定要确保etcd、?annel、docker是正常工作的,否则先解决问题再继续。
创建 CA 证书
mkdir -p /iba/master-ca
cd /iba/master-ca
cat > ca-config.json &...[2019/1/24]
二进制安装 kubernetes 1.12(四) - 部署 Node 节点组件
在 master 上操作
vi /etc/profile
export PATH=/opt/kubernete bin:$PATH
source /etc/profile
将 kubelet-bootstrap 用户绑定到系统集群角色
cd /opt/kubernete cfg
kubec...[2019/1/24]
二进制安装 kubernetes 1.12(五) - 运行测试实例
检查集群状态
# 在 master 上
kubectl get node
kubectl get cs
注册登录阿里云容器仓库
因国内无法获得 google 的 pause-amd64 镜像,我这里使用阿里云的。这里需要阿里云的帐号和密码。
在 node 节点上执行
sudo docker ...[2019/1/24]
二进制安装 kubernetes 1.12(一) - 安装 ETCD
软件环境
软件
版本
操作系统
CentOS 7.4
Docker
18-ce
Kubernetes
1.12
服务器角色
角色
IP
组件
k8s-master
192.168.0.205
kube-apiserver, kuber-controller-...[2019/1/23]
二进制安装 kubernetes 1.12(二) - 安装docker, 部署Flannel网络
在 node 节点上安装 docker
参考 https: www.cnblogs.com/klvchen/p/8468855.html
Flannel 工作原理:
部署Flannel网络
在 master上执行
# Falnnel要用etcd存储自身一个子网信息,所以要保证能成功连接Et...[2019/1/23]
通过Heketi管理GlusterFS为K8S集群提供持久化存储
参考文档:
Github project:https: github.com/heketi/heketi
MANAGING VOLUMES USING HEKETI:https: acce .redhat.com/documentation/en-u red_hat_gluster_stora...[2019/1/21]
kubernetes集群部署kubernetes集群部署
安装环境
172.19.2.49(kube-apiserver,kube-controller-manager,kube-dns,kube-proxy,kubectl,etcd)
172.19.2.50(kubectl,etcd,kube-proxy)
172.19.2.51(kubectl...[2019/1/11]
何时该用无服务器,何时该用 Kubernetes?
什么时候该用无服务器,什么时候该用 Kubernetes 构建云原生应用程序?[2019/1/11]
harbor部署到k8s中使用 - W-Dharbor部署到k8s中使用 - W-D
一、概述
harbor是什么呢?英文单词的意思是:港湾。港湾用来存放集装箱(货物的),而docker的由来正是借鉴了集装箱的原理,所以harbor是用于存放docker的镜像,作为镜像仓库使用。官方的说法是:Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。
...[2019/1/11]
kubectl客户端工具远程连接k8s集群 - W-D
一、概述
一般情况下,在k8smaster节点上集群管理工具kubectl是连接的本地http8080端口和apiserver进行通讯的,当然也可以通过https端口进行通讯前提是要生成证书。所以说kubectl不一定部署在master上,只要能和apiserver进行通讯,那么你可以将ku...[2019/1/10]
一文带你看透kubernetes 容器编排系统
本文由云+社区发表
作者:turboxu
Kubernetes作为容器编排生态圈中重要一员,是Google大规模容器管理系统borg的开源版本实现,吸收借鉴了google过去十年间在生产环境上所学到的经验与教训。 Kubernetes提供应用部署、维护、 扩展机制等功能,利用Kuber...[2019/1/8]
kubeadm安装K8S单master双节点集群kubeadm安装K8S单master双节点集群
宿主机: master:172.16.40.97 node1:172.16.40.98 node2:172.16.40.99
# 一、k8s初始化环境:(三台宿主机)
关闭防火墙和selinux
systemctl stop firewalld && systemctl di...[2019/1/7]
kubeadm安装kubernetes 1.13.1集群完整部署记录
k8s是什么
Kubernetes简称为k8s,它是 Google 开源的容器集群管理系统。在 Docker 技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。k8s是容器到容器云后的产物。但是k8s并不是万能,并...[2019/1/4]
Istio如何使用相同的端口访问网格外服务
1.1、背景
写这篇文章的目的是为了说明以下问题:如何使用TCP协议相同的端口访问网格外多个服务? 这是最近直播的时候有一个同学提出的,当时我没有完全明白,“访问多集群” 的意思。后来仔细思考了一下,问题应该就是Istio服务网格内如何通过相同的协议,端口访问不同的服务。
1....[2018/12/27]
Cloud Native Weekly | Kubernetes 1.13发布Cloud Native Weekly | Kubernetes 1.13发布
云原生一周精选
1——Kubernetes 1.13发布
2——Kubernetes首次出现重大安全漏洞
3——Docker和微软公司推出云原生应用的部署规范
4——谷歌推出beta版本的Cloud SCC
1 Kubernetes 1.13发布
Kubernetes在上周发布1.13...[2018/12/14]
K8s helm 创建自定义Chart
# 删除之前创建的 chart
helm list
helm delete --purge redis1
# 创建自定义 chart myapp
cd ~/helm
helm create myapp
cd myapp/
# 修改 Chart.yaml
cat Chart.yaml
api...[2018/12/11]
使用Kubeadm(1.13+)快速搭建Kubernetes集群
Kubeadm是管理集群生命周期的重要工具,从创建到配置再到升级,Kubeadm处理现有硬件上的生产集群的引导,并以最佳实践方式配置核心Kubernetes组件,以便为新节点提供安全而简单的连接流程并支持轻松升级。随着Kubernetes 1.13 的发布,现在Kubeadm正式成为GA。
准备
...[2018/12/10]
K8S helm
Helm 致力于成为 Kubernetes 的包管理工具,可以方便地发现、共享和构建 Kubernetes 应用,它包含几个基本概念:
Chart:一个 Helm 包,其中包含了运行一个应用所需要的镜像、依赖和资源定义等,还可能包含 Kubernetes 集群中的服务定义,类似 Homebrew...[2018/12/7]
关于k8s这项大动作,预示着边缘计算迎来“开源”发展的新周期……
在文章《最近在边缘计算领域,发生了一件足以载入物联网史册的大事…》我曾经提到Kubernetes(简称K8s)将从超大规模云计算环境,被带入到物联网边缘计算场景中。
事情有了新进展,从本周开始,在物联网的边缘计算场景中,K8s有了更加实用的工具。华为宣布将公有云上的智能边缘计算服务IEF部分开源...[2018/12/6]
K8s爆严重安全漏洞?有何应对措施与建议
Kubernetes最近爆出严重安全漏洞,影响几乎目前所有的版本。实际影响究竟多大?老版本用户是否必须升级?以下是华为云容器服务团队对该漏洞的分析解读。
Kubernetes爆出的严重安全漏洞:
攻击者通过构造特殊请求,可以在一个普通权限的链接上提升权限,向被代理的后端服务器发送任意...[2018/12/6]
访问kubernetes ingress-controller
ingre -controller可以理解为一套反向代理系统,本身需要暴露端口到集群外部,以便客户端访问。
根据实际使用,给出两种暴露端口的方式,如下:
方案一
拓扑
说明
ingre -controller使用service的方式,采用service的nodePort暴露端口。
默认情况...[2018/12/5]
K8S 容器的资源需求、资源限制
容器的资源需求,资源限制
requests:需求,最低保障;
limits:限制,硬限制;
CPU:
1 颗逻辑 CPU
1=1000,millicores
500m=0.5CPU
QoS:
Guranteed : 每个容器 同时设置CPU和内存的requests和limits
...[2018/12/3]
华为云对Kubernetes在Serverless Container产品落地中的实践经验华为云对Kubernetes在Serverless Container产品落地中的实践经验
华为云容器实例服务,它基于 Kubernetes 打造,对最终用户直接提供 K8S 的 API。正如前面所说,它最大的优点是用户可以围绕 K8S 直接定义运行应用。
这里值得一提是,我们采用了全物理机的方案,对于端到端资源利用率有一个很大的提升。而在 K8S 之上我们通过一层封装实现了超规模资源...[2018/12/3]
上云利器,K8S应用编排设计器之快到极致
前言 在前面的文章中,我们已经提到,华为云有一个上云利器:应用编排设计器。作为华为云应用编排服务与用户沟通的桥梁,设计器坚持用户体验至上的理念,以图形化方式,在鼠标点击之间,助力企业快速上云。优质的交互体验,单手即可操作,让您边喝咖啡边上云。那么设计器的快,到底体现在哪些方面?下面我们就来聊一聊,...[2018/12/3]
企业落地Kubernetes的问题与对策
在当今云计算领域,“容器技术”已经从三四年前的炒作期正式进入了产业落地期,而Kubernetes作为容器平台的标准已经得到了广泛应用。
Kubernetes从2014年6月由Google宣布开源,到2015年7月发布第一个正式版本1.0并进入CNCF基金会,再到2018年3月从CNCF基金会正式...[2018/12/3]
深入了解Kubernetes REST API的工作方式
关于Kubernetes REST API的工作方式:
在哪里以及如何定义从REST路径到处理REST调用的函数的映射?
与etcd的交互发生在哪里?
从客户端发出请求到保存在etcd中对象的端到端路径是怎样的?
Kubernetes REST框架
Kubernetes REST实现可大...[2018/12/3]
K8S 高级调度方式
可以使用高级调度分为:
节点选择器: nodeSelector、nodeName
节点亲和性调度: nodeAffinity
Pod亲和性调度:PodAffinity
Pod反亲和性调度:podAntiAffinity
nodeSelector, nodeName
cd; mkdir sch...[2018/11/30]
K8S 调度器,预选策略,优选函数
Kubernetes Scheduler 提供的调度流程分三步:
预选策略(predicate) 遍历nodelist,选择出符合要求的候选节点,Kubernetes内置了多种预选规则供用户选择。
优选策略(priority) 在选择出符合要求的候选节点中,采用优选规则计算出每个节点的积分,最后...[2018/11/28]
K8S Calico
NetworkPolicy是kubernetes对pod的隔离手段,是宿主机上的一系列iptables规则。
Egre 表示出站流量,就是pod作为客户端访问外部服务,pod地址作为源地址。策略可以定义目标地址或者目的端口
Ingre 表示入站流量,pod地址和服务作为服务端,提供外部...[2018/11/25]
Kubernetes并发控制与数据一致性的实现原理
在大型分布式系统中,定会存在大量并发写入的场景。在这种场景下如何进行更好的并发控制,即在多个任务同时存取数据时保证数据的一致性,成为分布式系统必须解决的问题。 悲观并发控制和乐观并发控制是并发控制中采用的主要技术手段,对于不同的业务场景,应该选择不同的控制方法。 悲观锁 悲观并发控制(又名“悲观锁...[2018/11/23]
idou老师教你学Istio: 如何用Istio实现K8S Egress流量管理
本文主要介绍在使用Istio时如何访问集群外服务,即对出口流量的管理。
默认安装的Istio是不能直接对集群外部服务进行访问的,如果需要将外部服务暴露给 Istio 集群中的客户端,目前有两种方案:
1. 配置ServiceEntry
2. 配置global.proxy.includeIPR...[2018/11/23]
k8s flannel
kubernetes网络通信方式有:
容器间的通信 : pod内的容器通信 通过(lo)设备
Pod之间的通信 :pod IP <-----> pod IP ,K8S 要求所有的 pod 都必须直接通信
Pod与Service之间的通信 :podIP <-----> Clu...[2018/11/23]
CentOS 7 安装Kubernetes
一、关闭CentOS自带的防火墙服务
# systemctl disable firewalld
# systemctl stop firewalld
二、安装etcd和Kubernetes软件(会自动安装Docker)...[2018/11/22]