etcd

k8s二进制部署

大兔子大兔子 提交于 2019-12-05 14:41:16
一. 基础环境设置 ------所有节点都要设置 可使用镜像及二进制文件:链接:https://pan.baidu.com/s/1ypgC8MeYc0SUfZr-IdnHeg 密码:bb82 软件环境: • CentOS Linux release 7.4.1708 (Core) • kubernetes1.8.6 • etcd3.2.12 • flanneld0.9.1 • docker17.12.0-ce 方便安装在 master 与其他两台机器设置成无密码访问 ssh-keygen ssh-copy-id -i k8s-master ssh-copy-id -i k8s-node1 ssh-copy-id -i k8s-node2 hosts设置 -所有节点 vim /etc/hosts 192.168.102.130 k8s-master etcd01 192.168.102.131 k8s-node1 etcd02 192.168.102.132 k8s-node2 etcd03 设置防火墙 -所有节点 systemctl stop firewalld && systemctl disable firewalld 配置内核参数 -所有节点 vim /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1

1 搭建K8s集群

老子叫甜甜 提交于 2019-12-05 11:21:57
官网 : https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-kubeadm-kubelet-and-kubectl GitHub :https://github.com/kubernetes/kubeadm 课程中 :使用kubeadm搭建一个3台机器组成的k8s集群,1台master节点,2台worker节点 如果大家机器配置不够,也可以使用在线的,或者minikube的方式或者1个master和1个worker 配置要求 : One or more machines running one of: Ubuntu 16.04+ Debian 9+ CentOS 7【课程中使用】 Red Hat Enterprise Linux (RHEL) 7 Fedora 25+ HypriotOS v1.0.1+ Container Linux (tested with 1800.6.0) 2 GB or more of RAM per machine (any less will leave little room for your apps) 2 CPUs or more Full network connectivity between

minikube : not able to connect a locally deployed nginx service

99封情书 提交于 2019-12-05 04:13:53
I have installed minikube on my ubuntu 16.04 machine and have started a cluster, with a message "Kubernetes is available at https://192.168.99.100:443" Next, I deployed nginx service with the following command > kubectl.sh run my-nginx --image=nginx --replicas=2 --port=80 --expose > kubectl.sh get pods -o wide NAME READY STATUS RESTARTS AGE NODE my-nginx-2494149703-8jnh4 1/1 Running 0 13m 127.0.0.1 my-nginx-2494149703-q09be 1/1 Running 0 13m 127.0.0.1 > kubectl.sh get services -o wide NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR kubernetes 10.0.0.1 <none> 443/TCP 14m <none> my-nginx 10.0.0

docker etcd

依然范特西╮ 提交于 2019-12-05 03:52:59
Etcd 简介 Etcd CoreOS 团队于 2013 年6月发起的开源项目,它的目标是构建一个高可用的分布式键值( key-value )仓库,遵循 Apache v2许可,基于 Go 语言实现,接触过分布式系统的读者应该知道,分布式系统中最基本的问题之一就是实现信息的共识,在此基础上才能实现对服务配置信息的管理、服务的发现、更新、同步,等等 而要解决这些问题,往往需要利用一套能保证一致性的分布式数据库系统,比如经典的 Apache ZooKeeper 项目 ,采用了 Paxos 算法来实现数据的强一致性。 Etcd 专门为集群环境设计,采用了更为简洁的 Raft 共识算法,Raft 是一套通过选举主节点来实现分布式系统一致性的算法,同样可以实现数据强一致性,并支持集群节点状态管理和服务自动发现等 Etcd 在进行设计的时候重点考虑了下面四个要素: 口简单:支持 RESTfulAPI和gRPCAPI; 口安全: 基于 TLS 式实 安全连接访 口快速: 支持每 一万次 并发写操作,超时控制在毫秒量级 口可靠: 支持分布式结构 基于 Raft 算法实现一致性 通常情况下,用户使用 Etcd 可以在多个节点上启动多个实例,并将它们添加为 个集群。同一个集群中的 Etcd 实例将会自动保持彼此信息的一致性,这意味着分布在各个节点上的应用也将获取到一致的信息。 安装和使用 Etcd

Consul 注册中心介绍

徘徊边缘 提交于 2019-12-05 02:43:53
在 Spring Cloud 体系中,几乎每个角色都会有两个以上的产品提供选择,比如在注册中心有:Eureka、Consul、zookeeper、etcd 等;网关的产品有 Zuul、Spring Cloud Gateway 等。在注册中心产品中,最常使用的是 Eureka 和 Consul,两者各有特点,企业可以根据自述项目情况来选择。 前面给大家详细介绍了 Eureka ,本节给大家介绍 Consul 的使用。 什么是Consul Consul 是 HashiCorp 公司推出的开源产品,用于实现分布式系统的服务发现、服务隔离、服务配置,这些功能中的每一个都可以根据需要单独使用,也可以同时使用所有功能。Consul 官网目前主要推 Consul 在服务网格中的使用。 与其它分布式服务注册与发现的方案相比,Consul 的方案更“一站式”——内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value 存储、多数据中心方案,不再需要依赖其它工具。Consul 本身使用 go 语言开发,具有跨平台、运行高效等特点,也非常方便和 Docker 配合使用。 Consul 的主要特点有: Service Discovery : 服务注册与发现,Consul 的客户端可以做为一个服务注册到 Consul,也可以通过 Consul 来查找特定的服务提供者

解决k8s报错No API token found for service account "default", retry after the token is automatically

为君一笑 提交于 2019-12-05 02:02:09
1、首先生成密钥: openssl genrsa -out /etc/kubernetes/serviceaccount.key 2048 2、编辑/etc/kubenetes/apiserver 添加以下内容: KUBE_API_ARGS="--service_account_key_file=/etc/kubernetes/serviceaccount.key" 3、再编辑/etc/kubernetes/controller-manager 添加以下内容: KUBE_CONTROLLER_MANAGER_ARGS="--service_account_private_key_file=/etc/kubernetes/serviceaccount.key" 最后无论是哪种解决方式都需要再重启kubernetes服务: systemctl restart etcd kube-apiserver kube-controller-manager kube-scheduler 来源: https://my.oschina.net/u/3852748/blog/3131662

etcd-operator快速入门完全教程

夙愿已清 提交于 2019-12-04 23:28:43
Operator是指一类基于Kubernetes自定义资源对象(CRD)和控制器(Controller)的云原生拓展服务,其中CRD定义了每个operator所创建和管理的自定义资源对象,Controller则包含了管理这些对象所相关的运维逻辑代码。 对于普通用户来说,如果要在k8s集群中部署一个高可用的etcd集群,那么不仅要了解其相关的配置,同时又需要特定的etcd专业知识才能完成维护仲裁,重新配置集群成员,创建备份,处理灾难恢复等等繁琐的事件。 而在operator这一类拓展服务的协助下,我们就可以使用简单易懂的YAML文件(同理参考Deployment)来声明式的配置,创建和管理我们的etcd集群,下面我们就来一同了解下etcd-operator这个服务的架构以及它所包含的一些功能。 目 标 了解etcd-operator的架构与CRD资源对象 部署etcd-operator 使用etcd-operator创建etcd cluster 基于etcd-operator备份和恢复etcd cluster 服务架构 etcd-operator的设计是基于k8s的API Extension机制来进行拓展的,它为用户设计了一个类似于Deployment的Controller,只不过这个Controller是用来专门管理etcd这一服务的。

etcd-operator快速入门完全教程

南楼画角 提交于 2019-12-04 23:23:19
Operator是指一类基于Kubernetes自定义资源对象(CRD)和控制器(Controller)的云原生拓展服务,其中CRD定义了每个operator所创建和管理的自定义资源对象,Controller则包含了管理这些对象所相关的运维逻辑代码。 对于普通用户来说,如果要在k8s集群中部署一个高可用的etcd集群,那么不仅要了解其相关的配置,同时又需要特定的etcd专业知识才能完成维护仲裁,重新配置集群成员,创建备份,处理灾难恢复等等繁琐的事件。 而在operator这一类拓展服务的协助下,我们就可以使用简单易懂的YAML文件(同理参考Deployment)来声明式的配置,创建和管理我们的etcd集群,下面我们就来一同了解下etcd-operator这个服务的架构以及它所包含的一些功能。 目 标 了解etcd-operator的架构与CRD资源对象 部署etcd-operator 使用etcd-operator创建etcd cluster 基于etcd-operator备份和恢复etcd cluster 服务架构 etcd-operator的设计是基于k8s的API Extension机制来进行拓展的,它为用户设计了一个类似于Deployment的Controller,只不过这个Controller是用来专门管理etcd这一服务的。

etcd v3 ssl 集群添加新节点

放肆的年华 提交于 2019-12-04 21:06:58
集群搭建 下面只用同一台服务器进行三个成员节点的开启 节点1 ./etcd --name cd0 --initial-advertise-peer-urls http://127.0.0.1:2380 --listen-peer-urls http://127.0.0.1:2380 --listen-client-urls http://127.0.0.1:2379 --advertise-client-urls http://127.0.0.1:2379 --initial-cluster-token etcd-cluster-1 --initial-cluster cd0=http://127.0.0.1:2380,cd1=http://127.0.0.1:2480,cd2=http://127.0.0.1:2580 --initial-cluster-state new 节点2 ./etcd --name cd1 --initial-advertise-peer-urls http://127.0.0.1:2480 --listen-peer-urls http://127.0.0.1:2480 --listen-client-urls http://127.0.0.1:2479 --advertise-client-urls http://127.0.0.1:2479 -

k8s二进制部署

北战南征 提交于 2019-12-04 17:39:19
k8s二进制部署 1.环境准备 主机名 ip地址 角色 k8s-master01 10.0.0.10 master k8s-master02 10.0.0.11 master k8s-node01 10.0.0.12 node k8s-node02 10.0.0.13 node 初始化操作 关闭防火墙 关闭selinux 关闭swap 安装ntp使时间同步 配置域名解析 配置免密 k8s-master01 到其他机器。 安装docker 2.生成配置CFSSL CFFSL 能够构建本地CA,生成后面需要使用的证书 再k8s-master01上操作 wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64chmod +x cfssl_linux-amd64sudo mv cfssl_linux-amd64 /root/local/bin/cfssl​wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64chmod +x cfssljson_linux-amd64sudo mv cfssljson_linux-amd64 /root/local/bin/cfssljson​wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux