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. InstrumentDriver,对iOS自动化测试说 Yes!

    InstrumentDriver 是 Mobile自动化小组最近实现的基于 instrument,针对 iOS 的自动化测试框架,目前支持 java 语言编写测试用例. 研究过iOS自动化测试的同学肯 ...

  2. 在linux下用命令行编译 java的eclipse项目

    由于jdk的版本问题导致在windows上编译打包好的jar包放在linux服务器上运行的时候出现一点小异常,所以决定在linux上进行一次项目编译,这有两个选择1.在相同的linux环境下安装lin ...

  3. 【转】WPF自定义控件与样式(7)-列表控件DataGrid与ListView自定义样式

    一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等. 本文主要内容: DataGrid自定义样式: ListView自定义样式: 二.Dat ...

  4. Go指南练习_图像

    https://tour.go-zh.org/methods/25 一.题目描述 还记得之前编写的图片生成器吗?我们再来编写另外一个,不过这次它将会返回一个 image.Image 的实现而非一个数据 ...

  5. (原创)Python文件与文件系统系列(1)—— file 对象

    本系列将从四个部分简单介绍Python对文件系统的操作与支持: 1. Python内置的 file 对象 2. Python的os模块对文件.文件系统操作的支持 3. Python的os.path模块 ...

  6. 缓存技术PK:选择Memcached还是Redis?

    缓存技术PK:选择Memcached还是Redis? memcached完全剖析----------------->高质量文章 memcached的最佳实践方案 数据缓存系统-memcached ...

  7. Microsoft.Identity的IPasswordHasher加密的默认实现与运用

    本文版权归博客园和作者吴双本人共同所有,转载和爬虫请注明原文地址  www.cnblogs.com/tdws 相信了解了MS Identity认证体系的一定知道UserManager的作用,他是整个体 ...

  8. jxl和POI的区别

    最近两个项目中分别用到jxl和POI,因为用的都是其中的简单的功能,所以没有觉得这其中有太大的区别.有人针对他们做了比较,这里也拿出来展示一下. 首先从优缺点上来说 一.jxl 优点: Jxl对中文支 ...

  9. 多线程开发之一 NSThread

    每个 iOS 应用程序都有个专门用来更新显示 UI 界面.处理用户的触摸事件的主线程,因此不能将其他太耗时的操作放在主线程中执行,不然会造成主线程堵塞(出现卡机现象),带来不好的用户体验. 一般的解决 ...

  10. 51 IP核查询

    康芯的IP核 Oregano systems 公司的MC8051 IP CoreSynthesizeable VHDL Microcontroller IP-Core User Guide这个里面51 ...