Kubernetes
wang725
这个作者很懒,什么都没留下…
展开
-
Kubernetes相关操作记录
跟着学习操作了一遍,还不是很了解,先粗糙记录下三台ubuntu虚拟机并安装好了docker,后续的所有操作都是使用root账户。虚拟机具体信息如下表:系统类型IP地址节点角色Hostnameubuntu16.04168.174.135workerserver01ubuntu16.04168.174.136masterserver02ubuntu...原创 2018-09-25 19:12:32 · 855 阅读 · 0 评论 -
理解Kubernetes核心概念
转载本文将会简单介绍Kubernetes的核心概念。因为这些定义可以在Kubernetes的文档中找到,所以文章也会避免用大段的枯燥的文字介绍。相反,我们会使用一些图表(其中一些是动画)和示例来解释这些概念。我们发现一些概念(比如Service)如果没有图表的辅助就很难全面地理解。在合适的地方我们也会提供Kubernetes文档的链接以便读者深入学习。什么是Kubernetes?Kubern...转载 2019-05-01 12:59:58 · 130 阅读 · 0 评论 -
pod一种访问方式
访问kubernetes-bootcamp-6b7849c495-9drpb这个podroot@server02:~# kubectl get podNAME READY STATUS RESTARTS AGEkubernetes-bootcamp-6b7849c495-9drpb 1/1 ...原创 2019-05-19 15:50:23 · 175 阅读 · 0 评论 -
k8s各个服务和执行流程介绍
Master节点部署的都是kubernetes的核心模块APIServer提供资源操作的唯一入口,并且提供认证/授权/kubernets的访问控制可以通过kubectl和自己开发的客户端,通过http的请求通过restapi的形式来访问apiserver,从而实现对整个集群的控制ControllerManager负责维护整个集群的状态,如,故障检测/扩缩容/滚动更新等Schedule...原创 2019-05-12 11:45:26 · 5099 阅读 · 0 评论 -
k8s设计理念
摘自慕课1. API设计原则系统的api设计是一个系统的灵魂,整个复杂的系统都会隐藏在api下面,也都会随着api的变化而变化,如果api设计的不好,底层系统就不可能做的好K8s所有的api都是声明式的如,要pod扩容为2个实例,只需要将replicaset指定为2就可以了从概念上来说声明式,是对于重复的操作是稳定的,所有的api对象都是名词,而不是动词如,service/pod,以...转载 2019-05-12 12:33:14 · 632 阅读 · 0 评论 -
CI/CD流程图
CI/CD实践在gitlab上定义WebHooc事件,若发生push到GitLab操作,则触发Jenkins的JobJenkins从GitLab拉取代码,静态分析,启动服务,单元测试,构建镜像,推送到Docker仓库:Harbor仓库等动作docker builddocker push在同一个Jenkins的pipeline中,docker push之后,定义一个新的stage用以发...原创 2019-05-26 23:25:47 · 9429 阅读 · 0 评论 -
K8S - 容器探针(Probe)
对线上业务来说,保证服务的正常稳定是重中之重,对故障服务的及时处理避免影响业务以及快速恢复一直是开发运维的难点。Kubernetes提供了健康检查服务,对于检测到故障服务会被及时自动下线,以及通过重启服务的方式使服务自动恢复。使用Liveness及Readness探针Liveness探针:主要用于判断Container是否处于运行状态,比如当服务crash或者死锁等情况发生时,kubelet会...原创 2019-05-31 16:53:52 · 15236 阅读 · 0 评论 -
k8s - 容器生命周期内的Hook
Hook分类Kubernetes为容器在其生命周期内提供了两种钩子(hook),分别是postStart与preStop两种事件:PostStart:在容器启动之后,PostStart hook会立即被执行,但需要注意的是,容器里的ENTRYPOINT与PostStart hook的执行顺序谁先谁后并不确定。PreStop:在容器被终止之前被执行,采用一种阻塞式的方式,也就是必须在PreSt...原创 2019-05-31 16:59:24 · 2289 阅读 · 0 评论 -
k8s - 环境搭建指引
https://github.com/opsnull/follow-me-install-kubernetes-cluster原创 2019-05-31 21:27:02 · 152 阅读 · 0 评论 -
k8s - 静态pod
静态pod介绍在Kubernetes中有一个DaemonSet类型的pod,这种类型的pod可以在某个节点上长期运行,这种类型的pod就是静态pod。静态pod直接由某个节点上的kubelet程序进行管理,不需要api server介入,静态pod也不需要关联任何RC,完全是由kubelet程序来监控,当kubelet发现静态pod停止掉的时候,重新启动静态pod。静态pod创建静态pod...原创 2019-05-31 22:19:49 · 5374 阅读 · 6 评论 -
Pod的生命周期
一个pod可以有以一下几种状态挂起(Pending):Pod 已被 Kubernetes 系统接受,但有一个或者多个容器镜像尚未创建。等待时间包括Pod被调度时间和通过网络下载镜像时间。运行中(Running):该 Pod 已经绑定到了一个节点上,Pod 中所有的容器都已被创建。至少有一个容器正在运行,或者正处于启动或重启状态成功(Successed):Pod 中的所有容器都被成功终止,并...原创 2019-05-31 22:26:34 · 1224 阅读 · 0 评论 -
Pod操作时序
原创 2019-06-02 09:34:28 · 181 阅读 · 0 评论 -
k8s service
kubectl create service clusterip wfq-svc-cp --tcp=80:8080kubectl create service nodeport wfq-svc-np --tcp=1234:80kubectl create service clusterip wfq-svc-headless --clusterip="None"root@server02:~...原创 2019-05-08 20:28:31 · 232 阅读 · 0 评论 -
k8s Tolerations:允许Pod 调度到有特定taints 的Node 上
Tolerations:允许Pod 调度到有特定taints 的Node 上转载 2019-05-04 20:20:07 · 800 阅读 · 0 评论 -
k8s taints 避免Pod 调度到特定Node 上
Taints:避免Pod 调度到特定Node 上带effect的特殊label,对Pod有排斥性–硬性排斥NoSchedule–软性排斥PreferNoSchedule系统创建的taint附带时间戳–effect为NoExecute–便于触发对Pod的超时驱逐典型用法:预留特殊节点做特殊用途给node添加taintkubectl taint node node-n1 foo...转载 2019-05-04 20:14:57 · 2616 阅读 · 0 评论 -
Kubernetes基础
![test](https://img-blog.csdn.net/20180925200434965?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbmc3MjU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70 jpg=430x330)原创 2018-09-25 20:06:37 · 321 阅读 · 0 评论 -
Kubernetes - namespace
Namespace是对一组资源和对象的抽象集合,比如可以用来将系统内部的对象划分为不同的项目组或用户组。常见的pods, services, replication controllers和deployments等都是属于某一个namespace的(默认是default),而node, persistentVolumes等则不属于任何namespace。Namespace常用来隔离不同的用户,比...转载 2018-09-25 20:59:03 · 4008 阅读 · 0 评论 -
k8s执行流程
整体流程用户执行kubectl/userClient向api server发起一个命令,经过认证授权后,经过scheduler的各种策略,得到一个目标node,然后告诉api server,api server 会请求相关node的kubelet,通过kubelet把pod运行起来,apiserver还会将pod的信息保存在etcd;pod运行起来后,controllermanager就会负责...原创 2018-10-03 11:29:21 · 2299 阅读 · 0 评论 -
K8S手动调度Pod
手动调度Pod(不经过调度器)适用场景调度器不工作时,临时救急封装实现自定义调度器小故事过去几个版本的Daemonset都是由controller直接指定pod的运行节点,不经过调度器。直到1.11版本,DaemonSet的pod由scheduler调度才作为alpha特性引入136服务器/root/demo/manual_schedule.yamlapiVersion:...原创 2019-05-03 11:11:22 · 3385 阅读 · 0 评论 -
k8s对node添加Label
参考在某些特殊情况下,需要将某些服务固定在一台宿主机上, k8s可以使用label给node节点打上标签来满足这种需求.Label添加删除和修改添加label语法kubectl label nodes <node-name> <label-key>=<label-value> 删除label语法kubectl label nodes <n...原创 2019-05-03 12:28:37 · 22132 阅读 · 0 评论 -
k8s通过nodeaffinity调度方式创建pod
官网文档介绍通过下图简要介绍在node节点135上配置的label:key-affinity-label=value-affinity-labelroot@server01:~# kubectl label node 192.168.174.135 key-affinity-label=value-affinity-labelnode "192.168.174.135" labeled...原创 2019-05-03 14:39:18 · 1466 阅读 · 0 评论 -
k8s查看容器日志---查看运行中指定pod以及指定pod中容器的日志
1、查看指定pod的日志kubectl logs <pod_name>kubectl logs -f <pod_name> #类似tail -f的方式查看(tail -f 实时查看日志文件 tail -f 日志文件log)2、查看指定pod中指定容器的日志kubectl logs <pod_name> -c <container_name>...转载 2019-05-03 14:45:54 · 21567 阅读 · 0 评论 -
Kubernetes基本概念之Label
转载并感谢Label是Kubernetes系统中的一个核心概念。Label以key/value键值对的形式附加到任何对象上,如Pod,Service,Node,RC(ReplicationController)/RS(ReplicaSet)等。Label可以在创建对象时就附加到对象上,也可以在对象创建后通过API进行额外添加或修改。在为对象定义好Label后,其他对象就可以通过Label来对对...转载 2019-05-03 16:15:34 · 507 阅读 · 0 评论 -
k8s通过podaffinity调度方式创建pod
136服务器/root/demo/pod-affinity.yamlapiVersion: v1kind: Podmetadata: name: pod-affinityspec: affinity: podAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelec...原创 2019-05-03 17:24:25 · 2363 阅读 · 0 评论 -
k8s通过nodeSelector调度方式创建pod
最好的指导是官网了为135服务器配置labelkubectl label node 192.168.174.135 label_key_135=label_value_135yaml文件:/root/demo/pod-nodeselector.yamlapiVersion: v1kind: Podmetadata: name: demo-node-selector label...原创 2019-05-04 08:26:53 · 10426 阅读 · 0 评论 -
k8s通过podAntiAffinity调度方式创建pod
官网136服务器,yaml文件:/root/demo/pod-anti-affinity.yamlapiVersion: v1kind: Podmetadata: name: pod-anti-affinity labels: anti-affinity-demo: anti-affinity-demo-yahahaspec: affinity: podAn...原创 2019-05-04 09:13:29 · 11521 阅读 · 4 评论 -
简化Kubernetes应用部署工具
简化Kubernetes应用部署工具-Helm简介简化Kubernetes应用部署工具-Helm安装简化Kubernetes应用部署工具-Helm之应用部署简化Kubernetes应用部署工具-Helm之Release配置简化Kubernetes应用部署工具-Helm之Hookhelm dependencychart repo...原创 2019-06-02 11:59:33 · 250 阅读 · 0 评论