etcd

二进制部署k8s 1.15.3

霸气de小男生 提交于 2019-12-24 15:14:54
二进制部署k8s 1.15.3 自带补全 source <(kubectl completion bash) kubectl get csr kubectl certificate approve XXXXID kubectl get node minikube Minikube是一个工具,可以在本地快速运 行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用。不能用于生产环境。 官方地址:https://kubernetes.io/docs/setup/minikube/ kubeadm Kubeadm也是一个工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集群。 官方地址:https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/ 二进制包 从官方下载发行版的二进制包,手动部署每个组件,组成Kubernetes集群。 小结: 生产环境中部署Kubernetes集群,只有Kubeadm和二进制包可选,Kubeadm降低部署门槛,但屏蔽了 很多细节,遇到问题很难排查。我们这里使用二进制包部署Kubernetes集群,我也是推荐大家使用这种方式,虽然手动部署麻烦点,但学习很多工作原理,更有利于后期维护。 软件环境 软件 版本 操作系统

CentOS7.6部署k8s环境

荒凉一梦 提交于 2019-12-24 01:40:01
CentOS7.6 部署k8s环境 测试环境: 节点名称 节点IP 节点功能 K8s-master 10.10.1.10/24 Master、etcd、registry K8s-node-1 10.10.1.20/24 node-1 K8s-node-2 10.10.1.30/24 node-2 步骤: 修改hosts文件 [root@Node-1 ~]# hostnamectl --static set-hostname k8s-master [root@Node-1 ~]# vi /etc/hosts 10.10.1.10 k8s-master 10.10.1.10 etcd 10.10.1.10 registry 10.10.1.20 k8s-node-1 10.10.1.30 k8s-node-2 部署etcd(注:本次只master节点安装etcd) [root@node-1 ~]# yum install etcd –y [root@node-1 ~]# vi /etc/etcd/etcd.conf #[Member] #ETCD_CORS="" ETCD_DATA_DIR="/var/lib/etcd/default.etcd" #ETCD_WAL_DIR="" #ETCD_LISTEN_PEER_URLS="http://localhost:2380" ETCD

kubernetes之Kubeadm快速安装v1.12.0版

你说的曾经没有我的故事 提交于 2019-12-23 19:37:06
通过Kubeadm只需几条命令即起一个单机版kubernetes集群系统,而后快速上手k8s。 在kubeadm中,需手动安装Docker和kubeket服务,Docker运行容器引擎,kubelet是启动Pod的核心组件,每一个节点都安装好kubelet和Docker,那么运行容器和Pod的环境就准备好了,在此基础之上,使用Kubeadm工具自动配置kubelet并启动kubelet服务,将Master所有组件和Node上剩余的kube-proxy组件都运行为Pod,托管在k8s之上。 服务器规划 三台机器:一台master、两个Node: k8s-master:10.3.1.20 k8s-node01:10.3.1.21 k8s-node02:10.3.1.25 OS:Ubuntu16.04 Docker:17.03.2-ce 安装前准备 1、master节点到各Node节点SSH免密登录。 2、时间同步。 3、各Node必须关闭swap:swapoff -a,否则kubelet启动失败。 4、各节点主机名和IP加入/etc/hosts解析 安装Docker 所有k8s节点安装Docker Daemon: apt-get update apt-get install \ apt-transport-https \ ca-certificates \ curl \

使用kubernetes 官网工具kubeadm部署kubernetes(使用阿里云镜像)

99封情书 提交于 2019-12-23 19:32:22
系列目录 kubernetes简介 Kubernetes节点架构图: kubernetes组件架构图: 准备基础环境 我们将使用kubeadm部署3个节点的 Kubernetes Cluster,整体结构图: 节点详细信息: 无特殊说明以下操作在所有节点执行: 修改主机名: #master节点: hostnamectl set-hostname k8s-master #node1节点: hostnamectl set-hostname k8s-node1 #node2节点: hostnamectl set-hostname k8s-node2 基本配置: #修改/etc/hosts文件 cat >> /etc/hosts << EOF 192.168.92.56 k8s-master 192.168.92.57 k8s-node1 192.168.92.58 k8s-node2 EOF #关闭防火墙和selinux systemctl stop firewalld && systemctl disable firewalld sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config && setenforce 0 #关闭swap swapoff -a yes | cp /etc/fstab /etc

OpenSSL创建https多域名签名证书

倖福魔咒の 提交于 2019-12-23 17:34:43
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> # 配置文件 [root@localhost cert]# cat etcd.conf [ req ] distinguished_name = req_distinguished_name req_extensions = v3_req #取消这行注释 [ req_distinguished_name ] [ v3_req ] basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment subjectAltName = @alt_names [ alt_names ] DNS.1 = 21.etcd.local DNS.2 = 22.etcd.local DNS.3 = 23.etcd.local DNS.4 = 24.etcd.local DNS.5 = 25.etcd.local # 创建CA证书 [root@localhost cert]# openssl genrsa -out ca.key 2048 Generating RSA private key, 2048 bit long modulus ....................................+++ ...

通过kubeadm搭建k8s集群

泪湿孤枕 提交于 2019-12-22 20:23:42
====== 通过kubeadm搭建k8s集群 ====== 1、版本统一 Docker 18.09.0 --- kubeadm-1.14.0-0 kubelet-1.14.0-0 kubectl-1.14.0-0 --- k8s.gcr.io/kube-apiserver:v1.14.0 k8s.gcr.io/kube-controller-manager:v1.14.0 k8s.gcr.io/kube-scheduler:v1.14.0 k8s.gcr.io/kube-proxy:v1.14.0 k8s.gcr.io/pause:3.1 k8s.gcr.io/etcd:3.3.10 k8s.gcr.io/coredns:1.3.1 --- calico:v3.9 2、准备3台centos,要保证彼此之间能够ping通,也就是处于同一个网络中,虚拟机的配置要求上面也描述咯。 3、 更新并安装依赖,3台机器都需要执行 【yum -y update】 【yum install -y conntrack ipvsadm ipset jq sysstat curl iptables libseccomp】 4、安装Docker,三台机器都安装,安装步骤见docker安装笔记 5、修改hosts文件 1)、master节点:【sudo hostnamectl set-hostname m】

Systemd string escaping

ぃ、小莉子 提交于 2019-12-21 16:56:46
问题 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,

k8s的容器编排

可紊 提交于 2019-12-21 07:27:09
1、K8S是如何对容器编排? 在K8S集群中,容器并非最小的单位,K8S集群中最小的调度单位是Pod,容器则被封装在Pod之中。由此可知,一个容器或多个容器可以同属于在一个Pod之中。 2、Pod是怎么创建出来的? Pod并不是无缘无故跑出来的,它是一个抽象的逻辑概念,那么Pod是如何创建的呢?Pod是由Pod控制器进行管理控制,其代表性的Pod控制器有Deployment、StatefulSet等。 3、Pod资源组成的应用如何提供外部访问的? Pod组成的应用是通过Service这类抽象资源提供内部和外部访问的,但是service的外部访问需要端口的映射,带来的是端口映射的麻烦和操作的繁琐。为此还有一种提供外部访问的资源叫做Ingress。 4、Service又是怎么关联到Pod呢? 在上面说的Pod是由Pod控制器进行管理控制,对Pod资源对象的期望状态进行自动管理。而在Pod控制器是通过一个YAML的文件进行定义Pod资源对象的。在该文件中,还会对Pod资源对象进行打标签,用于Pod的辨识,而Servcie就是通过标签选择器,关联至同一标签类型的Pod资源对象。这样就实现了从service-->pod-->container的一个过程。 5、Pod的怎么创建逻辑流程是怎样的? (1)客户端提交创建请求,可以通过API Server的Restful API

使用go初步调用etcd

雨燕双飞 提交于 2019-12-20 01:10:04
使用go初步調用etcd package main import ( "context" "go.etcd.io/etcd/clientv3" "time" ) func main() { config := clientv3.Config{ Endpoints: []string{"106.12.72.181:23791", "106.12.72.181:23792"}, DialTimeout: 10 * time.Second, } client, _ := clientv3.New(config) defer client.Close() kv := clientv3.NewKV(client) ctx := context.Background() //需要放入一个context,看自己需求选择合适的ctx kv.Put(ctx,"/services/user","user1") //插入一条数据 } 可以看到etcd集群中两个节点都可以查询到这个key root@instance-emh5jlpa:~# docker exec -it etcd1 sh /go # etcdctl get /services/user /services/user user1 /go # exit root@instance-emh5jlpa:~# docker exec -it

kubernetes 的 架构 及其 组件:

风格不统一 提交于 2019-12-19 21:53:47
文章目录 kubernetes 的架构: Master 和 Node: kubernetes集群组件: 1、Master 主要组件: 1.1、API Server —— 集群的网关 1.2、Controller —— 控制器 1.2.1、kube-controller-manager 1.2.2、cloud-controller-manager 1.3、Scheduler —— 调度器 2、Node 主要组件: 2.1、kubelet —— Node 核心代理程序 2.2、container runtime —— 容器运行时环境 2.3、 kube-proxy —— iptables规则 3、etcd —— 集群状态存储 4、其他组件: 4.1、kubeDNS(CoreDNS) 4.2、kubernetes Dashboard 4.3、Heapster —— 性能分析与监控 4.4、Ingress Controller —— 应用层负载均衡机制 这里是我自己写的一个 “小白学习 kubernetes” 的一个目录导航!跟我一样的小白可以跟着导航一起进行学习: kubernetes 学习导航: kubernetes 的架构: kubernetes 的架构是典型的 二层架构(c/s 架构) 。 由图可知: master 作为 集群的中枢,它是负责用户和集群内节点之间练习的联络点