ubuntu物理机上搭建Kubernetes集群 -- master 配置
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 配置的更多相关文章
- ubuntu物理机上搭建Kubernetes集群 -- minion 配置
1. flannel配置 下载二进制文件 https://github.com/coreos/flannel/releases 版本:flannel-v0.7.0-linux-amd64.tar.gz ...
- ubuntu物理机上搭建Kubernetes集群 -- 准备
准备工作 1.kubernetes架构 2.三台ubuntu主机: 操作系统:ubuntu-16.04.1-server-amd64 docker: 1.安装 使用命令 sudo apt-get in ...
- kubeadm搭建kubernetes集群之二:创建master节点
在上一章kubeadm搭建kubernetes集群之一:构建标准化镜像中我们用VMware安装了一个CentOS7虚拟机,并且打算用这个虚拟机的镜像文件作为后续整个kubernetes的标准化镜像,现 ...
- kubeadm搭建kubernetes集群之三:加入node节点
在上一章<kubeadm搭建kubernetes集群之二:创建master节点>的实战中,我们把kubernetes的master节点搭建好了,本章我们将加入node节点,使得整个环境可以 ...
- kubeadm 搭建kubernetes集群环境
需求 kubeadm 搭建kubernetes集群环境 准备条件 三台VPS(本文使用阿里云香港 - centos7.7) 一台能SSH连接到VPS的本地电脑 (推荐连接工具xshell) 安装步骤 ...
- kubeadm搭建kubernetes集群之一:构建标准化镜像
使用docker可以批量管理多个容器,但都是在同一台电脑内进行的,这在实际生产环境中是不够用的,如何突破单机的限制?让多个电脑上的容器可以像单机上的docker-compose.yml管理的那样方便呢 ...
- 【Kubernetes学习笔记】-kubeadm 手动搭建kubernetes 集群
目录 K8S 组件构成 环境准备 (以ubuntu系统为例) 1. kubernetes集群机器 2. 安装 docker. kubeadm.kubelet.kubectl 2.1 在每台机器上安装 ...
- 二进制搭建Kubernetes集群(最新v1.16.0版本)
目录 1.生产环境k8s平台架构 2.官方提供三种部署方式 3.服务器规划 4.系统初始化 5.Etcd集群部署 5.1.安装cfssl工具 5.2.生成etcd证书 5.2.1 创建用来生成 CA ...
- 手把手从0到1:搭建Kubernetes集群
搭建 k8s 集群网上很多教程,如果是手工部署或者实验环境可以直接使用 MiniKube 或者 Kind,来在本地启动简单的 Kubernetes 集群进行后面的学习即可.如果是使用 MiniKube ...
随机推荐
- Java如何进行Base64的编码(Encode)与解码(Decode)?
https://blog.csdn.net/zhou_kapenter/article/details/62890262 *************************************** ...
- 模仿Semaphore自定义自己的 信号量
简介 这里模仿Semaphore,自定义自己的信号量,利用AQS共享模式 1.MySemaphore.java package com.jacky; import java.util.concurre ...
- 【GMT43智能液晶模块】例程九:RTC实验——时钟显示
实验原理: STM32的实时时钟(RTC)是一个独立的定时器,有一组连续计数的 计数器,通过软件来对其进行相关的配置,可以提供时钟功能,通过修改计 数器的的值,可以调整时钟.最终通过emWin在显示屏 ...
- Repeater数据控件的两个重要事件ItemDataBound 和 ItemCommand
1 ItemDataBound:数据绑定的时候(正在进行时)发生. 2 ItemCommand :用来响应Item模板中的控件的事件. 如下代码 aspx代码: [html] view plain c ...
- 【Unity】UGUI无法修改UI元素的Pivot锚点位置
如下图,要点击切换左边的Toggle按钮变为Pivot才可以编辑Pivot! 参考: https://answers.unity.com/questions/871238/cant-change- ...
- js 规范
1.原型链的弊端是不支持多重继承.记住,原型链会用另一类型的对象重写类的 prototype 属性 2.注意:调用 ClassA 的构造函数,没有给它传递参数.这在原型链中是标准做法.要确保构造函数没 ...
- Java知多少(56)线程模型
Java运行系统在很多方面依赖于线程,所有的类库设计都考虑到多线程.实际上,Java使用线程来使整个环境异步.这有利于通过防止CPU循环的浪费来减少无效部分. 为更好的理解多线程环境的优势可以将它与它 ...
- 【转】使用Log4Net进行日志记录
首先说说为什么要进行日志记录.在一个完整的程序系统里面,日志系统是一个非常重要的功能组成部分.它可以记录下系统所产生的所有行为,并按照某种规范表达出来.我们可以使用日志系统所记录的信息为系统进行排错, ...
- Go指南练习_映射
源地址 https://tour.go-zh.org/moretypes/23 一.题目描述 实现 WordCount.它应当返回一个映射,其中包含字符串 s 中每个“单词”的个数.函数 wc.Tes ...
- 【hive】 hive 加载数据
1. insert 插入数据 要保证启动了jobhistory 否则会抛出异常 hdfs中查看内容 2. create table 表名字 select 字段... from 表名 hdfs查看数据 ...