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. Java如何进行Base64的编码(Encode)与解码(Decode)?

    https://blog.csdn.net/zhou_kapenter/article/details/62890262 *************************************** ...

  2. 模仿Semaphore自定义自己的 信号量

    简介 这里模仿Semaphore,自定义自己的信号量,利用AQS共享模式 1.MySemaphore.java package com.jacky; import java.util.concurre ...

  3. 【GMT43智能液晶模块】例程九:RTC实验——时钟显示

    实验原理: STM32的实时时钟(RTC)是一个独立的定时器,有一组连续计数的 计数器,通过软件来对其进行相关的配置,可以提供时钟功能,通过修改计 数器的的值,可以调整时钟.最终通过emWin在显示屏 ...

  4. Repeater数据控件的两个重要事件ItemDataBound 和 ItemCommand

    1 ItemDataBound:数据绑定的时候(正在进行时)发生. 2 ItemCommand :用来响应Item模板中的控件的事件. 如下代码 aspx代码: [html] view plain c ...

  5. 【Unity】UGUI无法修改UI元素的Pivot锚点位置

    如下图,要点击切换左边的Toggle按钮变为Pivot才可以编辑Pivot!   参考: https://answers.unity.com/questions/871238/cant-change- ...

  6. js 规范

    1.原型链的弊端是不支持多重继承.记住,原型链会用另一类型的对象重写类的 prototype 属性 2.注意:调用 ClassA 的构造函数,没有给它传递参数.这在原型链中是标准做法.要确保构造函数没 ...

  7. Java知多少(56)线程模型

    Java运行系统在很多方面依赖于线程,所有的类库设计都考虑到多线程.实际上,Java使用线程来使整个环境异步.这有利于通过防止CPU循环的浪费来减少无效部分. 为更好的理解多线程环境的优势可以将它与它 ...

  8. 【转】使用Log4Net进行日志记录

    首先说说为什么要进行日志记录.在一个完整的程序系统里面,日志系统是一个非常重要的功能组成部分.它可以记录下系统所产生的所有行为,并按照某种规范表达出来.我们可以使用日志系统所记录的信息为系统进行排错, ...

  9. Go指南练习_映射

    源地址 https://tour.go-zh.org/moretypes/23 一.题目描述 实现 WordCount.它应当返回一个映射,其中包含字符串 s 中每个“单词”的个数.函数 wc.Tes ...

  10. 【hive】 hive 加载数据

    1. insert 插入数据 要保证启动了jobhistory 否则会抛出异常 hdfs中查看内容 2. create table 表名字 select 字段... from  表名 hdfs查看数据 ...