etcd

docker kubernetes Swarm容器编排k8s CICD部署 麦兜

孤者浪人 提交于 2019-12-04 16:42:33
1docker版本 docker 17.09 https://docs.docker.com/ appledeAir:~ apple$ docker version Client: Docker Engine - Community Version: 18.09.0 API version: 1.39 Go version: go1.10.4 Git commit: 4d60db4 Built: Wed Nov 7 00:47:43 2018 OS/Arch: darwin/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 18.09.0 API version: 1.39 (minimum version 1.12) Go version: go1.10.4 Git commit: 4d60db4 Built: Wed Nov 7 00:55:00 2018 OS/Arch: linux/amd64 Experimental: false vagrant 创建linux虚拟机 创建一个目录 mkdir centos7 vagrant init centos/7 #会创建一个vagrant file vagrant up        #启动 vagrant ssh       

01:k8s 安装部署

穿精又带淫゛_ 提交于 2019-12-04 16:19:36
k8s 官网详解: https://www.kubernetes.org.cn/k8s 准备环境:三台centos7 服务器 192.168.6.129 k8s-master(主) 192.168.6.130 k8s-node-1(节点) 192.168.6.131 k8s-node-2(节点) #kubernetes(k8s)的安装方法 五种方法: kubernetes 二进制安装 (配置最繁琐,不亚于安装openstack) kubeadm 安装 (谷歌推出的自动化安装工具,网络有要求) minikube 安装 (仅仅用来体验k8s) yum 安装 (最简单,版本比较低====学习推荐此种方法) go编译安装 (最难) 我们采用yum安装,学习怎么使用k8s才是重点。 1:修改主机和host 解析 #请在129-130-131三台机器都执行如下操作 vim /etc/hosts: 192.168.6.129 k8s-master 192.168.6.130 k8s-node-1 192.168.6.131 k8s-node-2 修改主机名: hostnamectl set-hostname k8s-master hostnamectl set-hostname k8s-node-1 hostnamectl set-hostname k8s-node-2 2: 安装docker

k8s部署容器

好久不见. 提交于 2019-12-04 16:07:26
一. k8s节点部署 1. 环境规划 系统环境概述 系统环境说明 操作系统 Ubuntu16.04 or CentOS7 选的是CentOS7        -        Kubernetes版本 v1.14.3 -        -        Docker版本 19.03.1 yum安装        -        组件服务TLS证书对应关系表 集群部署-自签TLS证书 组件 使用的证书        -        etcd ca.pem, server.pem,server-key.pem        -        kube-apiserver ca.pem, server.pem, server-key.pem        -        flanneld ca.pem, server.pem, server-key.pem        -        kube-controller-manager ca.pem, ca-key.pem        -        kubelet ca.pem, ca-key.pem        -        kube-proxy ca.pem, kube-proxy.pem, kube-proxy-key.pem        -        kubectl ca.pem, admin.pem,

服务发现框架选型,Consul还是Zookeeper还是etcd

核能气质少年 提交于 2019-12-04 13:51:31
背景 本文并不介绍服务发现的基本原理。除了一致性算法之外,其他并没有太多高深的算法,网上的资料很容易让大家明白上面是服务发现。 想直接查看结论的同学,请直接跳到文末。 目前,市面上有非常多的服务发现工具,《Open-Source Service Discovery》(http://jasonwilder.com/blog/2014/02/04/service-discovery-in-the-cloud/)一文中列举了如下开源的服务发现工具。 Name Type AP or CP Language Dependencies Integration Zookeeper General CP Java JVM Client Binding Doozer General CP Go Client Binding Etcd General Mixed (1) Go Client Binding/HTTP SmartStack Dedicated AP Ruby haproxy/Zookeeper Sidekick (nerve/synapse) Eureka Dedicated AP Java JVM Java Client NSQ (lookupd) Dedicated AP Go Client Binding Serf Dedicated AP Go Local CLI Spotify

利用K8S技术栈打造个人私有云(连载之:K8S集群搭建)

五迷三道 提交于 2019-12-04 13:43:59
注: 本文首发于 My 公众号 CodeSheep ,可 长按 或 扫描 下面的 小心心 来订阅 ↓ ↓ ↓ 最近被业务折腾的死去活来,实在没时间发帖,花了好多个晚上才写好这篇帖子,后续会加油的! 【利用K8S技术栈打造个人私有云系列文章目录】 利用K8S技术栈打造个人私有云(连载之:初章) 利用K8S技术栈打造个人私有云(连载之:K8S集群搭建) 利用K8S技术栈打造个人私有云(连载之:K8S环境理解和练手) 利用K8S技术栈打造个人私有云(连载之:基础镜像制作与实验)(Coming Soon...) 利用K8S技术栈打造个人私有云(连载之:资源控制研究)(Coming Soon...) 利用K8S技术栈打造个人私有云(连载之:私有云客户端打造)(Coming Soon...) 利用K8S技术栈打造个人私有云(连载之:总结与升华)(Coming Soon...) 环境介绍 玩集群嘛,当然要搞几台机器做节点!无赖自己并没有性能很强劲的多余机器,在家里翻箱倒柜,找出了几台破旧的本子,试试看吧,与其垫桌脚不如拿出来遛遛弯... 总体环境安排如下图所示: 各部分简介如下: Master节点 ( 一台08年买的Hedy笔记本 Centos7.3 64bit ) docker etcd flannel kube-apiserver kube-scheduler kube-controller

003.Kubernetes二进制部署准备

限于喜欢 提交于 2019-12-04 12:17:10
一 前置准备 1.1 前置条件 相应的充足资源的Linux服务器; 设置相应的主机名,参考命令: 1 hostnamectl set-hostname k8smaster Mac及UUID唯一; 若未关闭防火墙则建议放通相应端口,如下: Master节点—— 规则 方向 端口范围 作用 使用者 TCP Inbound 6443* Kubernetes API server All TCP Inbound 2379-2380 etcd server client API kube-apiserver, etcd TCP Inbound 10250 Kubelet API Self, Control plane TCP Inbound 10251 kube-scheduler Self TCP Inbound 10252 kube-controller-manager Self Worker 节点 规则 方向 端口范围 作用 使用者 TCP Inbound 10250 Kubelet API Self, Control plane TCP Inbound 30000-32767 NodePort Services** All 其他更多前置准备见:https://kubernetes.io/zh/docs/setup/independent/install-kubeadm/ 二 主要组件

DOCKER学习_005:Flannel网络配置

孤街浪徒 提交于 2019-12-04 12:12:45
一 简介 Flannel是一种基于overlay网络的跨主机容器网络解决方案,也就是将TCP数据包封装在另一种网络包里面进行路由转发和通信, Flannel是CoreOS开发,专门用于docker多机互联的一个工具,让集群中的不同节点主机创建的容器都具有全集群唯一的虚拟ip地址 Flannel使用go语言编写 二 Flannel实现原理 2.1原理说明 Flannel为每个host分配一个subnet,容器从这个subnet中分配IP,这些IP可以在host间路由,容器间无需使用nat和端口映射即可实现跨主机通信 每个subnet都是从一个更大的IP池中划分的,flannel会在每个主机上运行一个叫flanneld的agent,其职责就是从池子中分配subnet Flannel使用etcd存放网络配置、已分配 的subnet、host的IP等信息 Flannel数据包在主机间转发是由backend实现的,目前已经支持UDP、VxLAN、host-gw、AWS VPC和GCE路由等多种backend 2.2 数据转发流程 容器直接使用目标容器的ip访问,默认通过容器内部的eth0发送出去。 报文通过veth pair被发送到vethXXX。 vethXXX是直接连接到虚拟交换机docker0的,报文通过虚拟bridge docker0发送出去。 查找路由表

kubeadm安装k8s高可用集群

佐手、 提交于 2019-12-04 11:42:44
kubeadm安装k8s高可用集群 系统版本:CentOS7.5 Kubernetes版本:v1.15.0 docker版本:18.06 k8s-vip k8s-m1 k8s-m2 k8s-m3 192.168.1.200 192.168.1.201 192.168.1.202 192.168.1.203 配置主机名 cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.1.201 k8s-m1 192.168.1.202 k8s-m2 192.168.1.203 k8s-m3 hostnamectl set-hostname k8s-m1/2/3 ssh免秘钥登录 ssh-keygen ssh-copy-id root@192.168.1.201/202/203 初始化脚本 cat init_env.sh #!/bin/bash #关闭防火墙 SELINUX systemctl stop firewalld && systemctl disable firewalld setenforce 0

Systemd string escaping

Deadly 提交于 2019-12-04 09:52:56
If I run this command /bin/bash -c 'while true;do /usr/bin/etcdctl set my-container "{\"host\": \"1\", \"port\": $(/usr/bin/docker port my-container 5000 | cut -d":" -f2)}" --ttl 60;sleep 45;done' I get back from etcd what I expect {"host":"1", "port":49155} But if I put it in a systemd file ExecStart=/bin/bash -c 'while true;do /usr/bin/etcdctl set my-container "{\"host\": \"1\", \"port\": $(/usr/bin/docker port my-container 5000 | cut -d":" -f2)}" --ttl 60;sleep 45;done' I get back {host:1, port:49155} Any idea of why the escaping is different inside of the file? How can I fix it? Thanks!!

etcd

那年仲夏 提交于 2019-12-04 07:07:45
安装证书生成工具cfssl: mkdir /data/ssl -p cd /data/ wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 chmod +x cfssl_linux-amd64 cfssljson_linux-amd64 cfssl-certinfo_linux-amd64 mv cfssl_linux-amd64 /usr/local/bin/cfssl mv cfssljson_linux-amd64 /usr/local/bin/cfssljson mv cfssl-certinfo_linux-amd64 /usr/bin/cfssl-certinfo cd /data/ssl/ 二进制包下载地址:https://github.com/etcd-io/etcd/releases/tag/v3.3.10 下载 etcd-v3.3.10-linux-amd64.tar.gz 生成key mkdir /data/ssl/etcd cd /data/ssl/etcd vim etcd.sh #