etcd

kubernetes二进制离线安装(含docker)

倾然丶 夕夏残阳落幕 提交于 2019-11-27 14:04:14
环境:CentOS7.4 服务器环境是外网隔离状态,所需安装包需要本地下载,远程拷贝至服务器。下载好需要的包后,全部安装过程均为离线安装。 一、安装docker 下载二进制安装包https://download.docker.com/linux/static/stable/x86_64/ 1、解压 $ tar xzvf docker-18.06.1-ce.tgz 2、拷贝至/usr/bin $ sudo cp docker/* /usr/bin 3、启动docker daemon $ sudo dockerd & 4、制作 docker.service 和 docker.socket 文件(或下载) https://github.com/moby/moby/tree/master/contrib/init/systemd 其中的docker.service.rpm 文件修改名字为 docker.service;docker.socket 则不需要改动,直接复制粘贴新建一个 docker.socket 文件即可。 5、将上述步骤得到的 docker.service 和 docker.socket 文件一起放到 /etc/systemd/system 目录下 $ sudo cp docker.socket /etc/systemd/system $ sudo cp docker

国内不fq安装K8S二: 安装kubernet

三世轮回 提交于 2019-11-27 13:48:41
目录 2 安装kubelet 2.1 环境准备 2.2 设置国内的源 2.3 重要的设置 2.4 获取镜像 2.5 使用kubeadm init初始化集群 2.6 安装Pod Network 2.7 测试集群DNS是否可用 2.8 向集群中添加Node节点 2 安装kubelet 2.1 环境准备 #关闭SElinux $ setenforce 0 $ sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config #关闭防火墙 $ systemctl stop firewalld $ systemctl disable --now firewalld #设置iptables(略) #安装kubelet kubeadm kubectl $ yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes #开机启动kubelet $ systemctl enable --now kubelet 2.2 设置国内的源 ps: master、node节点都需要安装kubelet kubeadm kubectl。 官方的源是packages.cloud.google.com,国内访问不了,因此使用阿里云的源 $ cat <<EOF >

k8s学习笔记

随声附和 提交于 2019-11-27 12:03:44
9.deployment:声明式的升级应用 9.1.使用RC实现滚动升级 #kubectl rolling-update kubia-v1 kubia-v2 --image=luksa/kubia:v2   使用kubia-v2版本应用来替换运行着kubia-v1的RC,将新的复制控制器命名为kubia-v2,并使用luksa/kubia:v2最为镜像。   升级完成后使kubectl describe rc kubia-v2查看升级后的状态。   为什么现在不再使用rolling-update?   1.直接更新pod和RC的标签并不是一个很的方案;   2.kubectl只是执行升级中的客户端,但如果执行kubectl过程中是去了网络连接,升级将会被中断,pod和RC将会处于一个中间的状态,所以才有了Deployment资源的引入。 9.2.使用Deployment声明式的升级应用   Rs替代Rc来复制个管理pod。   创建Deployment前确保删除所有的RC和pod,但是暂时保留Service,   kubectl delete rc --all   创建Deployment #kubectl create -f kubectl.depl-v1.yaml --record //--record可以记录历史版本 #查看Deployment的相关信息 #kubectl

Kubernetes 集群:规划与搭建

岁酱吖の 提交于 2019-11-27 10:06:38
Kubernetes 集群环境: IP地址 主机名 角色 软硬件限制 192.168.119.134 master1 deploy ,master1 ,lb1 ,etcd (1) CPU至少1核,内存至少2G (2) Linux 内核办版本至少3.10,使用 CentOS 7 (3) Docker 版本至少 1.9 ,Etcd 版本至少 2.0 192.168.119.135 master2 master2 ,lb2 192.168.119.136 node1 etcd ,node 192.168.119.137 node2 etcd ,node 备注: (1) etcd:用来存储各个资源对象的状态及数据,etcd集群必须是奇数个节点(1,3,5,....) (2) master:用来管理node节点,这里部署两个master,是为了做高可用,做高可用需要配置一个VIP ( 虚拟IP ),这里会配置为:192.168.119.130 (3) lb:负载均衡节点,安装 HAProxy + Keepalived (4) node:真正应用负载的节点,根据需要提升机器配置和增加节点 (5) deploy:这个工具相当于RC的升级版,用来部署,控制Pod的数量,跟RC比较,最大的一个特点是可以知道Pod部署的进度 (6) 本文参考: https://github.com/gjmzj

kubernetes集群搭建

天涯浪子 提交于 2019-11-27 10:05:07
工作环境: 主机名 IP 系统 master 192.168.199.6 rhel7.4 node1 192.168.199.7 rhel7.4 node2 192.168.199.8 rhel7.4 [root@master ~]#yum install kubernetes etcd flannel -y [root@node1 ~]#yum install kubernetes flannel -y [root@node2 ~]#yum install kubernetes flannel -y [root@master ~]# vim /etc/etcd/etcd.conf 6 ETCD_LISTEN_CLIENT_URLS="http://localhost:2379,http://192.168.199.6:2379" 21 ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379,http://192.168.199.6:2379" [root@master ~]# systemctl start etcd [root@master ~]# netstat -autup|grep 2379 tcp 0 0 localhost:2379 0.0.0.0:* LISTEN 5442/etcd tcp 0 0 master:2379

[转帖]Breeze部署kubernetes1.13.2高可用集群

半城伤御伤魂 提交于 2019-11-27 09:18:21
Breeze部署kubernetes1.13.2高可用集群 2019年07月23日 10:51:41 willblog 阅读数 673 标签: kubernetes 更多 个人分类: kubernetes https://blog.csdn.net/networken/article/details/86550735 所知道的太少了..不过简单试了下 不是特别好用国内公司做的系统.. 也可能跟我的虚拟机兼容性有关系.. breeze简介 项目地址: https://github.com/wise2c-devops/breeze 本次使用开源 Breeze工具部署 Kubernetes 高可用集群。 Breeze项目旨在提供一个可信的、安全的、稳定的Kubernetes集群部署工具,它可以帮助您通过图形化操作界面快捷地在生产环境部署一个或多个Kubernetes集群,而不需要连入互联网环境。 功能简介 运行简单: Breeze将部署Kubernetes集群所需的全部资源文件打包在一个docker镜像内,这包括Kubernetes的组件镜像、docker、etcd、harbor、kubernetes集群部署的ansible playbook脚本文件等。同时,Breeze部署主机自身也作为一个yum仓库服务器角色存在,因此,您只需准备一台安装了docker和docker

Kubernetes学习之路(27)之k8s 1.15.2 部署

核能气质少年 提交于 2019-11-27 08:11:50
目录 一、环境准备 二、软件安装 三、部署master节点 四、部署node节点 五、集群状态检测 一、环境准备 IP地址 节点角色 CPU Memory Hostname Docker version 192.168.56.110 master >=2c >=2G k8s-master 19.03 192.168.56.120 node >=2c >=2G k8s-node01 19.03 192.168.56.130 node >=2c >=2G k8s-node02 19.03 所有节点以下操作: 1、设置各主机的主机名,管理节点为k8s-master # hostnamectl set-hostname k8s-master # hostnamectl set-hostname k8s-node01 # hostnamectl set-hostname k8s-node02 2、编辑/etc/hosts文件,添加域名解析 cat <<EOF >> /etc/hosts 192.168.56.110 k8s-master 192.168.56.120 k8s-node01 192.168.56.130 k8s-node02 EOF 3、关闭防火墙、selinux、swap # systemctl stop firewalld # systemctl disable

Kubernetes 学习19基于canel的网络策略

▼魔方 西西 提交于 2019-11-27 07:44:57
一、概述   1、我们说过,k8s的可用插件有很多,除了flannel之外,还有一个流行的叫做calico的组件,不过calico在很多项目中都会有这个名字被应用,所以他们把自己称为project calico,但是很多时候我们在kubernets的语境中通常会单独称呼他为calico。其本身支持bgp的方式来构建pod网络。通过bgp协议的路由学习能使得去每一节点上生成到达另一节点上pod之间的路由表信息。会在变动时自动执行改变和修改,另外其也支持IP-IP,就是基于IP报文来承载一个IP报文,不像我们VXLAN是通过一个所谓的以太网帧来承载另外一个以太网帧的报文的方式来实现的。因此从这个角度来讲他是一个三层隧道,也就意外着说如果我们期望在calico的网络中实现隧道的方式进行应用,来实现更为强大的控制逻辑,他也支持隧道,不过他是IP-IP隧道,和LVS中所谓的IP-IP的方式很相像。不过calico的配置依赖于我们对bgp等协议的理解工作起来才能更好的去了解他。我们这儿就不再讲calico怎么去作为网络插件去提供网络功能的,而是把他重点集中在calico如何去提供网络策略。因为flannel本身提供不了网络策略。而flannel和calico二者本身已经合二为一了,即canel。事实上

Kubernetes探秘-多master节点容错部署

自闭症网瘾萝莉.ら 提交于 2019-11-27 05:48:46
Kubernetes的master服务主要包括etcd(数据存储)、control-manager(控制器)、scheduler(调度器)、apiserver(服务接口),我们将其部署到多节点实现容错。在 《 Kubernetes探秘-etcd节点和实例扩容 》中,已经将etcd服务扩展到多个节点。这里我们将control-manager(控制器)、scheduler(调度器)、apiserver(服务接口)扩展到多个节点运行。 1、多master节点部署 control-manager(控制器)和scheduler(调度器)通过apiserver(服务接口)来进行集群容器实例的管理,通过向apiserver中的 Endpoint 加锁的方式来进行leader election, 当目前拿到leader的实例无法正常工作时,别的实例会拿到锁,变为新的leader。缺省情况下election=true,默认安装即支持多实例的自动选主。 说明:各个节点的kubelet会自动启动/etc/kubernetes/manifest/*.yaml里定义的pod,作为static pod运行。 首先,使用kubeadm部署第一个主节点。 第二步,安装副节点。 使用kubeadm部署多个副节点。 或者先用kubeadm join部署为工作节点。 然后将/etc/kubernetes

Kubernetes探秘—配置文件目录结构

微笑、不失礼 提交于 2019-11-27 05:44:01
Kubernetes的配置目录包括/etc/kubernetes、/home/supermap/.kube和/var/lib/kubelet目录。 下面我们来看一看,这些目录里到底有些什么文件(操作系统使用Ubuntu 18.04LTS desktop)。 安装tree命令: sudo apt install tree 1、kubernetes主配置目录 显示/etc/kubernetes目录结构: supermap@podc01:/etc/kubernetes$ tree . . ├── admin.conf ├── controller-manager.conf ├── kubelet.conf ├── manifests │ ├── etcd.yaml │ ├── kube-apiserver.yaml │ ├── kube-controller-manager.yaml │ └── kube-scheduler.yaml ├── pki │ ├── apiserver.crt │ ├── apiserver-etcd-client.crt │ ├── apiserver-etcd-client.key │ ├── apiserver.key │ ├── apiserver-kubelet-client.crt │ ├── apiserver-kubelet-client