kubernetes
隔壁小翔
嘴角裂了,一笑就疼,幸运的是生活让我笑不出来
展开
-
一起来学k8s 40. kubernetes api操作
kubernetes api操作kubectl 通过访问 Kubernetes API 来执行命令。我们也可以通过对应的TLS key和token, 使用curl 或是 golang client做同样的事。API 请求必须使用 JSON 格式来发送。 kubectl 的作用是将 .yaml 转换为 JSON 格式进行 API 请求。通过证书访问我们从查看 kubectl 的配置文件开始,...原创 2020-02-22 11:29:28 · 2615 阅读 · 0 评论 -
一起来学k8s 39. 利用kubeadm搭建kubernetes高可用集群
利用kubeadm搭建kubernetes高可用集群不得不说的kubeadmkubeadm部署很方便,但是是一个老外写的,使用staticPod(容器)运行的管理组件,镜像都是gcr.io域名仓库里的。域名仓库很多docker的人甚至都不知道,docker镜像命名规则是域名/库名/img_name:tag这种形式,dockerhub上要拉取镜像直接是库名/img_name:tag这种名字,是...转载 2020-01-07 21:45:51 · 862 阅读 · 0 评论 -
一起来学k8s 38. 二进制k8s集群安装EFK
二进制k8s集群安装EFK环境准备##/etc/hosts192.168.48.101 master01192.168.48.102 master02192.168.48.103 master03192.168.48.201 node01192.168.48.202 node02## keepalived的vip192.168.48.66IPHostnameCP...原创 2019-11-24 13:38:33 · 818 阅读 · 0 评论 -
一起来学k8s 26.二进制k8s集群安装nfs storageclass
二进制k8s集群安装nfs storageclass环境准备##/etc/hosts192.168.48.101 master01192.168.48.102 master02192.168.48.103 master03192.168.48.201 node01192.168.48.202 node02192.168.48.54 nfs## keepalived的vip1...原创 2019-08-14 16:23:21 · 719 阅读 · 0 评论 -
一起来学k8s 25.二进制k8s集群安装Weave Scope
二进制k8s集群安装Weave Scope环境准备##/etc/hosts192.168.48.101 master01192.168.48.102 master02192.168.48.103 master03192.168.48.201 node01192.168.48.202 node02## keepalived的vip192.168.48.66IPHos...原创 2019-08-14 15:21:40 · 445 阅读 · 0 评论 -
一起来学k8s 24.二进制k8s集群安装dashboard
二进制k8s集群安装dashboard环境准备##/etc/hosts192.168.48.101 master01192.168.48.102 master02192.168.48.103 master03192.168.48.201 node01192.168.48.202 node02## keepalived的vip192.168.48.66IPHostn...原创 2019-08-14 14:08:19 · 763 阅读 · 0 评论 -
一起来学k8s 23.二进制k8s集群安装ingress-controller
二进制k8s集群安装ingress-controller环境准备##/etc/hosts192.168.48.101 master01192.168.48.102 master02192.168.48.103 master03192.168.48.201 node01192.168.48.202 node02## keepalived的vip192.168.48.66...原创 2019-08-14 10:48:55 · 1365 阅读 · 0 评论 -
一起来学k8s 22.二进制k8s集群安装Metrics-Server
二进制k8s集群安装Metrics-Server环境准备##/etc/hosts192.168.48.101 master01192.168.48.102 master02192.168.48.103 master03192.168.48.201 node01192.168.48.202 node02## keepalived的vip192.168.48.66IP...原创 2019-08-13 22:41:02 · 1634 阅读 · 0 评论 -
一起来学k8s 34.二进制k8s集群安装prometheus-operator
二进制k8s集群部署prometheus-operator环境准备##/etc/hosts192.168.48.101 master01192.168.48.102 master02192.168.48.103 master03192.168.48.201 node01192.168.48.202 node02192.168.48.54 nfs## keepalived的vi...原创 2019-08-18 23:40:33 · 1540 阅读 · 0 评论 -
一起来学k8s 33.二进制k8s集群部署wordpress
二进制k8s集群部署wordpress环境准备##/etc/hosts192.168.48.101 master01192.168.48.102 master02192.168.48.103 master03192.168.48.201 node01192.168.48.202 node02192.168.48.54 nfs## keepalived的vip192.168....原创 2019-08-18 16:46:57 · 3128 阅读 · 0 评论 -
一起来学k8s 27.二进制k8s集群安装helm
二进制k8s集群安装helm环境准备##/etc/hosts192.168.48.101 master01192.168.48.102 master02192.168.48.103 master03192.168.48.201 node01192.168.48.202 node02192.168.48.54 nfs## keepalived的vip192.168.48.66...原创 2019-08-14 17:08:40 · 524 阅读 · 3 评论 -
一起来学k8s 28.二进制k8s集群helm安装harbor
二进制k8s集群helm安装harbor环境准备##/etc/hosts192.168.48.101 master01192.168.48.102 master02192.168.48.103 master03192.168.48.201 node01192.168.48.202 node02192.168.48.54 nfs## keepalived的vip192.168...原创 2019-08-15 08:46:00 · 655 阅读 · 0 评论 -
一起来学k8s 29.二进制k8s集群cronjob
二进制k8s集群cronjob环境准备##/etc/hosts192.168.48.101 master01192.168.48.102 master02192.168.48.103 master03192.168.48.201 node01192.168.48.202 node02192.168.48.54 nfs## keepalived的vip192.168.48.6...原创 2019-08-15 17:41:23 · 706 阅读 · 0 评论 -
一起来学k8s 30.二进制k8s集群部署springboot项目
二进制k8s集群部署springboot项目环境准备##/etc/hosts192.168.48.101 master01192.168.48.102 master02192.168.48.103 master03192.168.48.201 node01192.168.48.202 node02192.168.48.54 nfs## keepalived的vip192.1...原创 2019-08-15 20:01:00 · 867 阅读 · 1 评论 -
一起来学k8s 21.二进制HA安装k8s 1.15.2
二进制HA安装k8s 1.15.2环境准备##/etc/hosts192.168.48.101 master01192.168.48.102 master02192.168.48.103 master03192.168.48.201 node01192.168.48.202 node02## keepalived的vip192.168.48.66IPHostnam...原创 2019-08-15 07:36:46 · 8591 阅读 · 16 评论 -
一起来学k8s 31.二进制k8s集群部署gitlab
二进制k8s集群部署gitlab环境准备##/etc/hosts192.168.48.101 master01192.168.48.102 master02192.168.48.103 master03192.168.48.201 node01192.168.48.202 node02192.168.48.54 nfs## keepalived的vip192.168.48....原创 2019-08-18 13:17:48 · 1593 阅读 · 0 评论 -
一起来学k8s 35.二进制k8s集群1.15.2升级1.15.3
二进制k8s集群1.15.2升级1.15.3环境准备##/etc/hosts192.168.48.101 master01192.168.48.102 master02192.168.48.103 master03192.168.48.201 node01192.168.48.202 node02192.168.48.54 nfs## keepalived的vip192.1...原创 2019-08-27 01:19:57 · 947 阅读 · 0 评论 -
一起来学k8s 36.二进制k8s集群添加新节点
二进制k8s集群添加新节点当前环境##/etc/hosts192.168.48.101 master01192.168.48.102 master02192.168.48.103 master03192.168.48.201 node01192.168.48.202 node02192.168.48.54 nfs## keepalived的vip192.168.48.66...原创 2019-09-11 22:43:51 · 732 阅读 · 0 评论 -
一起来学k8s 37.二进制k8s集群etcd备份和恢复
二进制k8s集群etcd备份和恢复当前环境##/etc/hosts192.168.48.101 master01192.168.48.102 master02192.168.48.103 master03192.168.48.201 node01192.168.48.202 node02192.168.48.203 node03192.168.48.54 nfs## kee...原创 2019-09-11 23:38:58 · 519 阅读 · 0 评论 -
一起来学k8s 32.二进制k8s集群部署jenkins
二进制k8s集群部署jenkins环境准备##/etc/hosts192.168.48.101 master01192.168.48.102 master02192.168.48.103 master03192.168.48.201 node01192.168.48.202 node02192.168.48.54 nfs## keepalived的vip192.168.48...原创 2019-08-18 16:43:03 · 672 阅读 · 0 评论 -
一起来学k8s 20.k8s 调度
k8s 调度kube-scheduler 是 k8s 系统的核心组件之一,其主要职责就是通过自身的调度算法,为新创建的 Pod 寻找一个最合适的 Node。主要包含如下几个步骤:通过一组叫做谓词 predicates 的过滤算法,先挑出满足条件的 Node;通过一组叫做优先级 priorities 的打分算法,来给上一步符合条件的每个 Node 进行打分排名;最终选择得分最高的节点,当...原创 2019-07-22 21:12:49 · 360 阅读 · 0 评论 -
一起来学k8s 10.service
ServiceKubernetes集群为我们提供了这样的一个对象 Service,Service是一种抽象的对象,它定义了一组Pod的逻辑集合和一个用于访问它们的策略,其实这个概念和微服务非常类似。一个Serivce下面包含的Pod集合一般是由Label Selector来决定的。环境192.168.48.101 master01192.168.48.201 node01192.16...原创 2019-07-04 21:54:37 · 265 阅读 · 0 评论 -
一起来学k8s 09.deployment
Deployment学习了Replication Controller和Replica Set两种资源对象,RC和RS的功能基本上是差不多的,唯一的区别就是RS支持集合的selector。我们也学习到了用RC/RS来控制Pod副本的数量,也实现了滚动升级Pod的功能。现在看上去似乎一切都比较完美的运行着,但是我们上节课最后也提到了现在我们推荐使用Deployment这种控制器了,而不是我们之前的...原创 2019-07-04 21:51:11 · 819 阅读 · 0 评论 -
一起来学k8s 08.Replication Controller 和 Replica Set
Replication Controller Replica Set如果我们都人工的去解决遇到的pod重启问题,似乎又回到了以前刀耕火种的时代了是吧,如果有一种工具能够来帮助我们管理Pod就好了,Pod不够了自动帮我新增一个,Pod挂了自动帮我在合适的节点上重新启动一个Pod,这样是不是遇到重启问题我们都不需要手动去解决了。幸运的是,Kubernetes就为我们提供了这样的资源对象:Rep...原创 2019-07-04 21:46:35 · 488 阅读 · 0 评论 -
一起来学k8s 07.安装metrics-server和heapster
Metrics-ServerKubernetes从1.8版本开始,CPU、内存等资源的metrics信息可以通过 Metrics API来获取,用户可以直接获取这些metrics信息Metrics API通过Metrics API我们可以获取到指定node或者pod的当前资源使用情况,API本身不存储任何信息,所以我们不可能通过API来获取资源的历史使用情况。Metrics API的获取...原创 2019-07-03 22:25:06 · 1260 阅读 · 0 评论 -
一起来学k8s 06.安装dashboard
Dashboard InstallKubernetes Dashboard就是k8s集群的web界面,集合了所有命令行可以操作的所有命令。界面如下所示环境192.168.48.101 master01192.168.48.201 node01192.168.48.202 node02dashboard 安装k8s的dashboard安装可以说是非常简单,参考github的指导既可...原创 2019-07-01 21:41:25 · 5522 阅读 · 1 评论 -
一起来学k8s 05.health check
Pod Health Check在Kubernetes集群当中,我们可以通过配置liveness probe(存活探针)和readiness probe(可读性探针)来影响容器的生存周期。使用 liveness probe 来确定你的应用程序是否正在运行,通俗点将就是是否还活着。一般来说,如果你的程序一旦崩溃了, Kubernetes 就会立刻知道这个程序已经终止了,然后就会重启这个程序。而...原创 2019-07-01 21:18:48 · 1840 阅读 · 0 评论 -
一起来学k8s 04.pod hook
# Pod HookKubernetes 为我们的容器提供了生命周期钩子,就是我们说的Pod Hook,Pod Hook 是由 kubelet 发起的,当容器中的进程启动前或者容器中的进程终止之前运行,这是包含在容器的生命周期之中。我们可以同时为 Pod 中的所有容器都配置 hook。Kubernetes 为我们提供了两种钩子函数:PostStart:这个钩子在容器创建后立即执行。但是,并...原创 2019-07-01 21:13:46 · 598 阅读 · 0 评论 -
一起来学k8s 03.学习yaml
YamlYAML 基础它的基本语法规则如下:大小写敏感使用缩进表示层级关系缩进时不允许使用Tab键,只允许使用空格。缩进的空格数目不重要,只要相同层级的元素左侧对齐即可# 表示注释,从这个字符一直到行尾,都会被解析器忽略在kubernetes 中,只需要两种结构类型:ListsMapsMapsMap 是字典,就是一个key:value的键值对apiVersion:...原创 2019-07-01 21:10:42 · 439 阅读 · 0 评论 -
一起来学k8s 01.kubeadm 简单部署k8s-1.15.0
kubeadm 部署k8s-1.15.0部署环境master01: 192.168.48.101node01: 192.168.48.201node02: 192.168.48.202所有节点都要写入hosts[root@master01 ~]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost...原创 2019-06-23 01:00:25 · 4093 阅读 · 3 评论 -
一起来学k8s 11.ingress-controller
Ingress-controllerKubernetes 集群内部使用 kube-dns 实现服务发现的功能,那么我们部署在 Kubernetes 集群中的应用如何暴露给外部的用户使用呢?我们知道前面我们使用 NodePort 和 LoadBlancer 类型的 Service 可以实现把应用暴露给外部用户使用,除此之外,Kubernetes 还为我们提供了一个非常重要的资源对象可以用来暴露服务...原创 2019-07-14 19:22:52 · 1620 阅读 · 0 评论 -
一起来学k8s 19.NetworkPolicy
NetworkPolicyKubernetes提供了NetworkPolicy,支持按Namespace级别的网络隔离,flannel 是没有网络策略的,calico有网络策略,建议安装calico,或者canal(就是flannel+calico,flannel作为网络划分,calico作为网络策略)。环境192.168.48.101 master01192.168.48.201 nod...原创 2019-07-14 20:53:54 · 879 阅读 · 0 评论 -
一起来学k8s 18.CNI
CNI我以 Flannel 项目为例,为你详细讲解了容器跨主机网络的两种实现方法:UDP 和 VXLAN。不难看到,这些例子有一个共性,那就是用户的容器都连接在 docker0 网桥上。而网络插件则在宿主机上创建了一个特殊的设备(UDP 模式创建的是 TUN 设备,VXLAN 模式创建的则是 VTEP 设备),docker0 与这个设备之间,通过 IP 转发(路由表)进行协作。然后,网络插件...原创 2019-07-14 20:21:16 · 447 阅读 · 0 评论 -
一起来学k8s 17.calico
Calico在容器生态中,要说到像 Flannel host-gw 这样的三层网络方案,我们就不得不提到这个领域里的“龙头老大”Calico 项目了。实际上,Calico 项目提供的网络解决方案,与 Flannel 的 host-gw 模式,几乎是完全一样的。也就是说,Calico 也会在每台宿主机上,添加一个格式如下所示的路由规则:< 目的容器 IP 地址段 > via <...原创 2019-07-14 20:13:06 · 1274 阅读 · 0 评论 -
一起来学k8s 16.flannel
FlannelFlannel 项目是 CoreOS 公司主推的容器网络方案。事实上,Flannel 项目本身只是一个框架,真正为我们提供容器网络功能的,是 Flannel 的后端实现。目前,Flannel 支持三种后端实现,分别是:UDPVxlanHost-gw环境192.168.48.101 master01192.168.48.201 node01192.168.48.20...原创 2019-07-14 20:10:19 · 1325 阅读 · 0 评论 -
一起来学k8s 15.RBAC
RBACRBAC使用rbac.authorization.k8s.io API Group 来实现授权决策,允许管理员通过 Kubernetes API 动态配置策略,要启用RBAC,需要在 apiserver 中添加参数--authorization-mode=RBAC,如果使用的kubeadm安装的集群,1.6 版本以上的都默认开启了RBAC,可以通过查看 Master 节点上 apiser...原创 2019-07-14 20:04:12 · 207 阅读 · 0 评论 -
一起来学k8s 14.kubernetes config
kubernetes config环境192.168.48.101 master01192.168.48.201 node01192.168.48.202 node02查看config文件[root@master01 ~]# kubectl config viewapiVersion: v1clusters:- cluster: certificate-authori...原创 2019-07-14 19:59:21 · 587 阅读 · 0 评论 -
一起来学k8s 13.configmap和secret
ConfigMap许多应用经常会有从配置文件、命令行参数或者环境变量中读取一些配置信息,ConfigMap非常重要的资源对象。用命令创建Examples: # Create a new configmap named my-config based on folder bar kubectl create configmap my-config --from-file=path/to...原创 2019-07-14 19:52:21 · 1078 阅读 · 0 评论 -
一起来学k8s 12.volume
volume环境192.168.48.101 master01192.168.48.201 node01192.168.48.202 node02192.168.48.54 nfsempty临时存储编写empty yamlvim myapp-empty.yaml apiVersion: v1kind: Podmetadata: name: myapp-empty...原创 2019-07-14 19:43:37 · 241 阅读 · 0 评论 -
一起来学k8s 02.pod label
Pod LabelLabelLabel相当于熟悉的“标签”,给某个资源对象定义一个Label,就相当于给它打了一个标签,随后可以通过Label Selector(标签选择器)查询和筛选拥有某些Label的资源对象。Labels 介绍以Pod为例,Label定义在metadata中:apiVersion: v1kind: Podmetadata: name: myweb lab...原创 2019-07-01 20:56:35 · 1038 阅读 · 0 评论