安装版本:

centos   version:        7.4
docker version: 18.03.1-ce
kubectl version: v1.10.1
etcdctl version: 3.2.18
Flannel version: v0.10.0

基本架构:

IP地址 主机名 服务
10.200.3.105 k8s-master etcd/docker/kube-apiserver/kube-controller-manager/kube-scheduler/flannel
10.200.3.106 k8s-node-1 etcd/docker/kube-proxy/kubelet/flannel
10.200.3.107 k8s-node-2 etcd/docker/kube-proxy/kubelet/flannel

1. 关闭SELinux和防火墙

#systemctl disable firewalld.service
#systemctl stop firewalld.service

2.设置主机名:

# hostnamectl --static set-hostname k8s-master
# hostnamectl --static set-hostname k8s-node-1
# hostnamectl --static set-hostname k8s-node-2

3.设置/etc/hosts保证主机名能够解析

10.200.3.105    k8s-master
10.200.3.106 k8s-node-
10.200.3.107 k8s-node-

4. 设置部署节点到其它所有节点的SSH免密码登录

[root@k8s-master ~]# ssh-keygen -t rsa
[root@k8s-master ~]# ssh-copy-id k8s-master
[root@k8s-master ~]# ssh-copy-id k8s-node-
[root@k8s-master ~]# ssh-copy-id k8s-node-

5.安装Docker(三台主机都安装)

第一步:使用国内Docker源

[root@k8s-master ~]# cd /etc/yum.repos.d/
[root@k8s-master yum.repos.d]# wget \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
---- ::-- https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 103.15.99.96, 103.15.99.93, 103.15.99.94, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|103.15.99.96|:... connected.
HTTP request sent, awaiting response... OK
Length: (.6K) [application/octet-stream]
Saving to: ‘docker-ce.repo’ %[===========================================================================================>] , --.-K/s in 0s -- :: (63.8 MB/s) - ‘docker-ce.repo’ saved [/]

第二步:Docker安装:

[root@k8s-master yum.repos.d]# yum install -y docker-ce

第三步:启动后台进程:

[root@k8s-master ~]# systemctl start docker

6.准备部署目录

#mkdir -p /opt/kubernetes/{cfg,bin,ssl,log}

Kubernetes主要由以下几个核心组件组成:

etcd 保存了整个集群的状态;

apiserver 提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;

controller manager 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;

scheduler 负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;

kubelet 负责维护容器的生命周期,同时也负责Volume(CSI)和网络(CNI)的管理;

Container runtime 负责镜像管理以及Pod和容器的真正运行(CRI);

kube-proxy 负责为Service提供cluster内部的服务发现和负载均衡;

除了核心组件,还有一些推荐的Add-ons:

kube-dns负责为整个集群提供DNS服务

Ingress Controller为服务提供外网入口

Heapster提供资源监控

Dashboard提供GUI

Federation提供跨可用区的集群

参考文档:https://github.com/unixhot/salt-kubernetes

     https://jimmysong.io/kubernetes-handbook/practice/install-kubernetes-on-centos.html

  

Kubernetes集群部署之一系统环境初始化的更多相关文章

  1. Docker学习-Kubernetes - 集群部署

    Docker学习 Docker学习-VMware Workstation 本地多台虚拟机互通,主机网络互通搭建 Docker学习-Docker搭建Consul集群 Docker学习-简单的私有Dock ...

  2. kubernetes 集群部署

    kubernetes 集群部署 环境JiaoJiao_Centos7-1(152.112) 192.168.152.112JiaoJiao_Centos7-2(152.113) 192.168.152 ...

  3. kubernetes集群部署

    鉴于Docker如此火爆,Google推出kubernetes管理docker集群,不少人估计会进行尝试.kubernetes得到了很多大公司的支持,kubernetes集群部署工具也集成了gce,c ...

  4. Kubernetes集群部署关键知识总结

    Kubernetes集群部署需要安装的组件东西很多,过程复杂,对服务器环境要求很苛刻,最好是能连外网的环境下安装,有些组件还需要连google服务器下载,这一点一般很难满足,因此最好是能提前下载好准备 ...

  5. 基于Kubernetes集群部署skyDNS服务

    目录贴:Kubernetes学习系列 在之前几篇文章的基础,(Centos7部署Kubernetes集群.基于kubernetes集群部署DashBoard.为Kubernetes集群部署本地镜像仓库 ...

  6. 为Kubernetes集群部署本地镜像仓库

    目录贴:Kubernetes学习系列 经过之前两篇文章:Centos7部署Kubernetes集群.基于kubernetes集群部署DashBoard,我们基本上已经能够在k8s的集群上部署一个应用了 ...

  7. Kubernetes 集群部署(2) -- Etcd 集群

    Kubenetes 集群部署规划: 192.168.137.81  Master 192.168.137.82  Node 192.168.137.83  Node 以下在 Master 节点操作. ...

  8. Gitlab CI 集成 Kubernetes 集群部署 Spring Boot 项目

    在上一篇博客中,我们成功将 Gitlab CI 部署到了 Docker 中去,成功创建了 Gitlab CI Pipline 来执行 CI/CD 任务.那么这篇文章我们更进一步,将它集成到 K8s 集 ...

  9. linux运维、架构之路-Kubernetes集群部署

    一.kubernetes介绍        Kubernetes简称K8s,它是一个全新的基于容器技术的分布式架构领先方案.Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部 ...

随机推荐

  1. POJ 2417 Discrete Logging BSGS

    http://poj.org/problem?id=2417 BSGS 大步小步法( baby step giant step ) sqrt( p )的复杂度求出 ( a^x ) % p = b % ...

  2. BZOJ.2242.[SDOI2011]计算器(扩展欧几里得 BSGS)

    同余方程都不会写了..还一直爆int /* 2.关于同余方程ax ≡b(mod p),可以用Exgcd做,但注意到p为质数,y一定有逆元 首先a%p=0时 仅当b=0时有解:然后有x ≡b*a^-1( ...

  3. Filebeat 快速开始

    Filebeat可以做什么 条目 filebeat 编写语言 GO 是否支持多输出 支持 是否支持多输入 支持 是否支持修改日志内容 支持 是否会丢数据 不会 对多行文件的合并 支持 对多层目录的模糊 ...

  4. PID控制器(比例-积分-微分控制器)- II

    Table of Contents Practical Process Control Proven Methods and Best Practices for Automatic PID Cont ...

  5. Dll注入经典方法完整版

    总结一下基本的注入过程,分注入和卸载 注入Dll: 1,OpenProcess获得要注入进程的句柄 2,VirtualAllocEx在远程进程中开辟出一段内存,长度为strlen(dllname)+1 ...

  6. 请远离include_once和require_once

    尽量使用include, 而不是include_once, 理由是 include_once需要查询一遍已加载的文件列表, 确认是否存在, 然后再加载. 诚然, 这个理由是对的, 不过, 我今天要说的 ...

  7. [Android]_[0基础]_[adb 有用命令]

    场景: 1. ADB 作为pc端和手机端通讯的桥梁, 起到调试手机app,查看手机信息的重要作用. 2. 这里列举了一些比較有用的命令方便速查. 查看开启USB调试的设备列表: adb devices ...

  8. Python:提取网页中的电子邮箱

    import requests, re #regex = r"([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)"#这个正则表达式过滤 ...

  9. V-rep学习笔记:关节力矩控制

    Torque or force mode When the joint motor is enabled and the control loop is disabled, then the join ...

  10. (原)ubuntu中使用conda安装tensorflow-gpu

    转载请注明出处: https://www.cnblogs.com/darkknightzh/p/9834567.html 参考网址: https://www.anaconda.com/blog/dev ...