1. 将  kube-apiserver, kube-controller-manager, kube-scheduler,kubectl 拷贝到/usr/bin目录下

2. 安装etcd

  • sudo apt-get install etcd
  • 版本  2.2.5
  • 修改/usr/lib/systemd/system/etcd.service文件,配置etcd单机版模式
[Unit]
Description=etcd server
Documentation=https://github.com/coreos/etcd
Documentation=man:etcd
After=network.target
Wants=network-online.target [Service]
WorkingDirectory=/var/lib/etcd/
EnvironmentFile=-/etc/etcd/etcd.conf
Type=notify
User=etcd
PermissionsStartOnly=true ExecStart=/usr/bin/etcd
Restart=on-failure #RestartSec=10s
LimitNOFILE= [Install]
WantedBy=multi-user.target
Alias=etcd2.service
~
  • 修改配置文件etc/etcd/etcd.conf
ETCD_ME=default
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS="http://109.105.46.94:2379,http://127.0.0.1:2379"
ETCD_LISTEN_PEER_URLS="http://109.105.46.94:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://109.105.46.94:2379"
  • 启动服务 systemctl start etcd
  • 检查是否工作

etcdctl set hello world

etcdctl get hello

  • 创建网络,后面flannel会使用
etcdctl mk /flannel/network/config '{"Network":"172.17.0.0/16"}'

3. apiserver 配置

  • 创建kubernetes API server的配置文件/usr/lib/systemd/system/kube-apiserver.service
[Unit]
After=etcd.service
ConditionFileIsExecutable=/usr/bin/kube-apiserver
Description=Kubernetes API Server
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
Wants=etcd.service [Service]
ExecStart=/usr/bin/kube-apiserver \
--insecure-bind-address=0.0.0.0 \
--insecure-port= \
--bind-address=0.0.0.0 \
--secure-port= \
--etcd_servers=http://109.105.46.94:2379 \
--service-cluster-ip-range=192.168.0.0/16 \
--service-node-port-range=30000-32767 \
--logtostderr=true \
--v= \
--log-dir=/home/nwlab/kubernetes/logs
Restart=always
RestartSec= [Install]
WantedBy=multi-user.target
  • 启动服务  

    systemctl daemon-reload
    systemctl start kube-apiserver
    systemctl status kube-apiserver(or journalctl -xe)

4. controller-manager配置

  • 创建配置文件 /usr/lib/systemd/system/kube-controller-manager.service
[Unit]
After=etcd.service
ConditionFileIsExecutable=/usr/bin/kube-controller-manager
Description=Kubernetes Controller Manager
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
Wants=etcd.service [Service]
ExecStart=/usr/bin/kube-controller-manager \
--master=109.105.46.94: \
--logtostderr=true \
--v= \
--log-dir=/home/nwlab/kubernetes/logs
Restart=always
RestartSec=
[Install]
WantedBy=multi-user.target
  • 启动服务
systemctl daemon-reload
systemctl start kube-controller-manager
systemctl status kube-controller-manager(or journalctl -xe)

5. scheduler配置

  • 创建配置文件 /usr/lib/systemd/system/kube-scheduler.service
[Unit]
After=etcd.service
ConditionFileIsExecutable=/usr/bin/kube-scheduler
Description=Kubernetes Scheduler
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
Wants=etcd.service [Service]
ExecStart=/usr/bin/kube-scheduler \
--master=109.105.46.94:8080 \
--address=0.0.0.0 \
--logtostderr=true\
--v=0 \
--log-dir=/home/nwlab/kubernetes/logs
Restart=always
RestartSec= [Install]
WantedBy=multi-user.target
  • 启动服务
systemctl daemon-reload
systemctl restart kube-scheduler
systemctl status kube-scheduler(or journalctl -xe)

6.检查  kubectl get componentstatuses

  

ubuntu物理机上搭建Kubernetes集群 -- master 配置的更多相关文章

  1. ubuntu物理机上搭建Kubernetes集群 -- minion 配置

    1. flannel配置 下载二进制文件 https://github.com/coreos/flannel/releases 版本:flannel-v0.7.0-linux-amd64.tar.gz ...

  2. ubuntu物理机上搭建Kubernetes集群 -- 准备

    准备工作 1.kubernetes架构 2.三台ubuntu主机: 操作系统:ubuntu-16.04.1-server-amd64 docker: 1.安装 使用命令 sudo apt-get in ...

  3. kubeadm搭建kubernetes集群之二:创建master节点

    在上一章kubeadm搭建kubernetes集群之一:构建标准化镜像中我们用VMware安装了一个CentOS7虚拟机,并且打算用这个虚拟机的镜像文件作为后续整个kubernetes的标准化镜像,现 ...

  4. kubeadm搭建kubernetes集群之三:加入node节点

    在上一章<kubeadm搭建kubernetes集群之二:创建master节点>的实战中,我们把kubernetes的master节点搭建好了,本章我们将加入node节点,使得整个环境可以 ...

  5. kubeadm 搭建kubernetes集群环境

    需求 kubeadm 搭建kubernetes集群环境 准备条件 三台VPS(本文使用阿里云香港 - centos7.7) 一台能SSH连接到VPS的本地电脑 (推荐连接工具xshell) 安装步骤 ...

  6. kubeadm搭建kubernetes集群之一:构建标准化镜像

    使用docker可以批量管理多个容器,但都是在同一台电脑内进行的,这在实际生产环境中是不够用的,如何突破单机的限制?让多个电脑上的容器可以像单机上的docker-compose.yml管理的那样方便呢 ...

  7. 【Kubernetes学习笔记】-kubeadm 手动搭建kubernetes 集群

    目录 K8S 组件构成 环境准备 (以ubuntu系统为例) 1. kubernetes集群机器 2. 安装 docker. kubeadm.kubelet.kubectl 2.1 在每台机器上安装 ...

  8. 二进制搭建Kubernetes集群(最新v1.16.0版本)

    目录 1.生产环境k8s平台架构 2.官方提供三种部署方式 3.服务器规划 4.系统初始化 5.Etcd集群部署 5.1.安装cfssl工具 5.2.生成etcd证书 5.2.1 创建用来生成 CA ...

  9. 手把手从0到1:搭建Kubernetes集群

    搭建 k8s 集群网上很多教程,如果是手工部署或者实验环境可以直接使用 MiniKube 或者 Kind,来在本地启动简单的 Kubernetes 集群进行后面的学习即可.如果是使用 MiniKube ...

随机推荐

  1. pycharm开发python利器入门

    内容包含:pycharm学习技巧 Learning tips.PyCharm3.0默认快捷键(翻译的).pycharm常用设置.pycharm环境和路径配置.Pycharm实用拓展功能:pycharm ...

  2. eslint 入门学习

    想学eslint已经很久了,可是每次进到官网看一下就觉得头大,无法下手,但是最近到了年底,进行年度总结,作为一个有志向的程序媛,还是要追求编码规范的,因此今天再次拿起来了eslint,记录一下我的学习 ...

  3. spring aop 之annotation

    1.CutPointInterface public interface CutPointInterface { void method(); } 2.CutPointClass @Component ...

  4. Ubuntu下在Apache中运行Keystone

    最近一次从Github上更新Keystone的代码后,发现原来bin/keystone-all和bin/keystone-manage都不见了,取而代之的是keystone/cmd/目录下的all.p ...

  5. 跨浏览器的placeholder-jQuery版(jQuery插件EnPlaceholder)

    案例:整搜索框,需要默认占位符为"请输入关键词",获取焦点时,占位符消失或不可用(不影响正常输入),丢失焦点后,若用户无内容输入,占位符继续出现,继续占位.这种代码我想前端们已经很 ...

  6. python2.7 处理unicode和ascii字符串混用问题

    python2.7默认的编码方式为ascii码,如下可以查询: import sys sys.getdefaultencoding() 如果直接在unicode和ascii字符串之间做计算.比较.连接 ...

  7. JAVA基础知识点总结(全集)

    1.JAVA简介 1.1java体系结构:j2se,javaweb,j2ee 1.2java特点:平台无关(虚拟机),垃圾回收(使得java更加稳定) 1.3 JDK与JRE,JDK:java开发环境 ...

  8. @Autowired注入为null问题分析

    题说明 最近看到Spring事务,在学习过程中遇到一个很苦恼问题 搭建好Spring的启动环境后出现了一点小问题 在启动时候却出现[java.lang.NullPointerException] 不过 ...

  9. docker中,如何将镜像保存为tar文件或者将镜像保存为文件,将tar文件导入到docker中

    需求说明: 在实际使用docker的过程中,比如某些机器不能上网,恰巧需要某些docker镜像,一般可以采用在能上网的机器上,pull下来基础镜像,然后将docker 镜像保存为文件,在不能上网的机器 ...

  10. 【03月04日】A股滚动市盈率PE历史新低排名

    2010年01月01日 到 2018年12月05日 之间,滚动市盈率历史新低排名. 上市三年以上的公司,2018年12月05日市盈率在300以下的公司. 1 - 青松股份(SZ300132) - 历史 ...