kubernetes
k8s集群创建、管理、维护,以及相关问题的解决
longtails
:(){ :|:& };: 术业专攻
展开
-
用kubeadm开启apiserver审计日志
用kubeadm开启apiserver审计日志用kueadm搭建了k8s集群,但为了分析集群的工作请求,查看apiserver的日志,没有其他组件的请求信息,再查发现,分析集群请求需要为组件开启审计功能。本文,将通过kubeadm工具搭建集群并开启apiserver的审计功能。并记录一下所遇到的问题。开启Audit需要配置Audit Policy,这里直接使用官方的一个Example配置ku...原创 2020-02-22 12:03:04 · 2470 阅读 · 0 评论 -
公有云(华为)下的高可用负载均衡器
公有云(华为)下的高可用负载均衡器高可用负载均衡器选用方案 VIP+NGINXnodeipnode110.0.0.11node210.0.0.12node310.0.0.13VIP 10.0.0.10在虚拟机上很容易操作,详情参看在京奋斗者的 nginx和keepalived实现nginx高可用但是在公有云上就有些问题了,买了三台服务器部署在同...原创 2020-02-18 18:32:29 · 1644 阅读 · 1 评论 -
kubeadm安装k8s
kubeadm安装k8s之前的博客记录着断断续续的问题,有很多其实是理解上的问题,比如kubelet的配置管理,如果用kubeadm来管理,就应使用apt源的方式安装k8s tools,而不是手动下载二进制文件,否则kubelet的systemctl service就是空的需要手动配置很麻烦,再比如主机有多张网卡,需要通过apiserver-adverstied参数指定,公有云的虚拟主机没有公网...原创 2020-02-17 18:14:13 · 914 阅读 · 0 评论 -
Fabric链码实例化是由组织内的哪个节点完成的?
Fabric链码实例化是由组织内的哪个节点完成的?今天,修改了链码实例化的代码,在peer0.org1 peer1.org1安装链码,实例化通过peer0.org1完成。等等,实例化通过peer0.org1完成?是的,我打算这样,方便后边看输出日志,检查代码的修改效果。产生这个想法也是因为fabric-sample的script.sh中实例化指定了组织节点。➜ fabric-sample...原创 2019-12-18 14:13:38 · 1396 阅读 · 0 评论 -
kubeadmV1.14.6启动k8s的一次爬坑
kubeadmV1.14.6启动k8s的一次爬坑熟练的打开ubuntu上的代理,下载指定版本v1.14.6的k8s服务器的二进制包,设置好环境变量,kube init启动。以过往的经验,这没事问题的,况且我是从v1.11版本使用过来的。事实上呵呵。kubelet要放到/usr/bin中!kubeadm init启动集群。root@node1:~# kubeadm init --ign...原创 2019-12-13 20:23:50 · 1098 阅读 · 0 评论 -
k8s client-go 之 依赖问题解决
k8s client-go依赖问题解决记一次go mod依赖版本不一致的解决过程克隆下client-go的工程,并checkout对应kubernetes版本上,可以直接使用example中的例子,但是在自定义开发时遇到了接口不一致问题,很明显这是依赖版本问题所致。我们使用client-go/examples/create-update-delete-deployment的例子测试测试环境...原创 2019-12-09 10:35:09 · 12822 阅读 · 1 评论 -
k8s client-go 之 官方库安装测试
client-go官方库安装测试git clone git clone https://github.com/kubernetes/client-go.git查看k8s版本➜ ~ kubectl versionClient Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.6", GitCommit:...原创 2019-12-08 19:16:19 · 907 阅读 · 0 评论 -
docker registry检查镜像是否存在
docker registry检查镜像是否存在docker registry v2 API没有提供直接判断一个镜像是否已经存在的api,但是可以通过一些接口组合判断,这里用manifest接口判断该镜像是否已经存在测试manifests API,存在结果➜ ~ curl -X GET "http://registry:5000/v2/nginx/manifests/1.12"{ "...原创 2019-11-30 17:15:56 · 6405 阅读 · 0 评论 -
构建本地私有仓库以及通过Docker客户端交互
构建本地私有仓库以及通过Docker客户端交互本文主要讲述,如何构建私有仓库,如何使用私有仓库,如何通过docker http接口和私有仓库交互,如何通过docker go客户端和私有仓库交互。第一步构建私有仓库有较多的内容讲述这部分内容,不再赘述,详细见私有仓库· Docker —— 从入门到实践 - yeasydocker私有仓库搭建与使用实战docker run --name r...原创 2019-11-27 15:51:28 · 947 阅读 · 0 评论 -
k8s部署fabric-kafka
k8s部署fabric-kafka在k8s上部署fabric witch kafka consensus,相比之前部署fabric with solo consensus的区别就在于多了一个zk/kfk集群,在我们部署好zk/kfk后,对fabric.solo简单修改即可应用。回顾一下,fabric.solo上解决了哪些问题:docker dns,即在宿主机上启动链码容器,并保持链码容器和...原创 2019-05-18 17:53:31 · 1311 阅读 · 2 评论 -
在k8s上搭建kfk-zk集群(2)
在k8s上搭建kfk-zk集群(2)这篇接zk的部署方式,整体结构是一样的,包括StorageClass、PV、HeadlessService、StatefulSet,不同的是kfk本身的配置,k8s官方没有k8s的部署教程,我在网上找到一个在k8s上部署kfk的帖子,借用其kfk的模版。StorageClass我们已经创建,直接使用local-class。root@hw1:~/zk# ku...原创 2019-05-18 14:50:23 · 589 阅读 · 0 评论 -
在k8s上搭建kfk-zk集群(1)
在k8s上搭建kfk-zk集群(1)kfk/zk属于有状态的应用,所以应当用StatefulSet来部署应用,但StatefulSet要比无状态的Deployment要复杂,主要表现在增加了:stable stroage,并且需要用StorageClass、PV有状态应用的网络问题,需要Headless Service,并且每个pod是有序编号的,其DNS就是name-1.headless...原创 2019-05-18 14:46:26 · 1067 阅读 · 0 评论 -
在本地集群创建StatefulSet有状态的应用
Stateful Set在k8s上部署有状态的应用是通过StatefulSets实现的。这里我们尝试部署官网的Stateful Set demo,为kfk/zk的部署做前期实验。像Deployment一样,StatefulSet也是基于容器特定的标识来管理Pod的,不一样的是StatefulSet会为每个pod保持一个标识。StatefulSet下创建的pod具有相同的配置,但每个pod都有一...原创 2019-05-16 13:49:36 · 933 阅读 · 0 评论 -
Fabric-solo on k8s
Fabric-solo on k8s本文主要内容:为简化实验,将e2e_cli多组织,改为单组织,部署solo共识算法,此时无需kafka/zookeeper集群,另,e2e_cli demo不需要ca等将e2e_cli下orderer、peer0.org1、peer1.org1、cli等docker-compose yaml文件转化为k8s文件搭建k8s with flannel集群...原创 2019-05-09 12:43:04 · 1009 阅读 · 2 评论 -
kubeadm搭建k8s集群
kubeadm安装k8s环境节点ip系统规格k8s版本hw1(master)192.168.0.105ubuntu18.042c4g1.13hw2(slave)192.168.0.165ubuntu18.044c8g1.13准备下载k8s二进制文件,并设置环境变量下载镜像配置代理,k8s要访问谷歌的服务,详见服务器...原创 2019-02-23 18:19:22 · 724 阅读 · 0 评论 -
Creating a single master cluster with kubeadm
Creating a single master cluster with kubeadm本文涉及的内容:搭建k8s单节点集群k8s网络插件flannel的使用重启集群后,网络插件无法工作的问题及解决k8s dns测试kubeadm搭建single node k8s的过程和用kubeadm搭建多节点的方法一样,但是k8s限制在master节点上部署容器,需要取消master节点的t...原创 2019-05-09 10:05:54 · 399 阅读 · 0 评论 -
kubernetes1.11手动搭建
kubernetes1.11手动搭建本次实验手动搭建一个内部的k8s集群,即不进行认证: 1.通过vagrant和virtual box 构建vm. 2.设计为一个etcd和一个node,初步,master先不搭建node,即目前一个master和一个node.pre 一直想找一篇简单的手动搭建k8s的教程(不进行认证),以初步学习k8s, 形成一个 简单的框架.结果,...原创 2018-08-26 12:11:11 · 2358 阅读 · 0 评论 -
IBM官方的Fabric on k8s部署方案
IBM官方的Fabric on k8s部署方案IBM官方提供的fabric在k8s上的部署方案,目前也只看到了solo,该方案可能也只是在测试用的,不同于其它通过nfs共享配置的方式,ibm通过k8s的pv/pvc存储实现共享配置。该方案,基本上上是纯k8s环境,无需其他修改便可直接使用,这点还是很方便的,比自己之前爬坑手动部署要可爱多了。但还有一点不确定,就是ibm是如何实例化代码的,实例化后...原创 2019-05-11 17:34:03 · 4190 阅读 · 2 评论 -
k8s指定外部ip暴露端口访问不通问题解决
k8s通过svc暴露端口 跟着katacoda k8s教程走,自己换了一个external-ip发现访问不了,通过ifconfig查 看,教程中的172.17.0.58,是一个配置好的网卡ip,但自己随意自定的没有网卡配置。之所以随意指定ip,是感觉k8s划分的172.17的ip段,以为可以用,但这个ip段应该是k8s 集群pod内使用的,而要暴露的ip应该是集群pod外,不经经过p...原创 2018-12-21 10:45:34 · 22808 阅读 · 0 评论 -
如何快速创建k8syaml文件模板
如何快速创建k8syaml文件模板通过dry-run导出--dry-run参数,运行 Dry 打印相应的API对象而不创建它们。创建yaml模板deploy[root@zjucst-52668 ~]# kubectl run http --image=katacoda/docker-http-server:latest --replicas=1 --dry-run -...原创 2018-12-21 11:31:42 · 4456 阅读 · 0 评论 -
关于k8s解析不到pod dns信息
关于k8s解析不到pod dns信息这其实是自己对k8s的dns解析不理解,service和pod在k8s中的dns记录形式不同,service是通过名字的,pod是用ip的(192-168-0-1的形式)。busybox:1.28,latest版本不行apiVersion: v1kind: Podmetadata: name: busybox1spec: contain...原创 2018-12-29 17:50:08 · 10245 阅读 · 7 评论 -
k8s NetworkPolicy
k8s NetworkPolicynetworkpolicy对象主要关注三个地方 第一个是绑定用的label; 第二个ingress; 第三个egress;此外,就是一些默认策略,比如禁止所有,允许所有networkpolicy[root@cce-demo1522483688765-00274 ~]# cat nwp.yaml apiVersion: networkin...原创 2018-12-31 19:52:09 · 1364 阅读 · 0 评论 -
分析IBM官方k8s部署fabric的方案
分析IBM官方k8s部署fabric的方案分析之前我们测试了IBM官方的k8s部署fabric的方案,比我们之间手动在k8s部署fabric要简洁与方便,所以,就想看看IBM究竟是怎么处理的。我们之前,用k8s部署了fabric的各个组件,但是链码我们是直接运行在节点上的,并且是需要为每个节点的Docker配置k8s集群的DNS,所以还不能完全手动,也就是说这种部署方案,并没有将链码容器纳入到...原创 2019-07-04 17:30:52 · 2715 阅读 · 14 评论 -
etcd raft cap 理解
etcd raft cap 理解label: cap、raft、etcd写这篇文章,主要是在smartx面试时,被CTO问到了一些顶层设计的问题,这让我感觉到自己对raft理解太浅了,或者说根本没理解清楚。首先raft的协议是做什么的?分布式共识算法,通过raft协议让各个节点保持状态一致;etcd基于raft来做的分布式kv数据库的目的是什么?etcd收zk的启发,基于raft协议开...原创 2019-08-31 15:34:48 · 5569 阅读 · 5 评论