kubernetes集群搭建
工作环境:
| 主机名 | IP | 系统 |
| master | 192.168.199.6 | rhel7.4 |
| node1 | 192.168.199.7 | rhel7.4 |
| node2 | 192.168.199.8 | rhel7.4 |
[root@master ~]#yum install kubernetes etcd flannel -y
[root@node1 ~]#yum install kubernetes flannel -y
[root@node2 ~]#yum install kubernetes flannel -y
[root@master ~]# vim /etc/etcd/etcd.conf
6 ETCD_LISTEN_CLIENT_URLS="http://localhost:2379,http://192.168.199.6:2379"
21 ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379,http://192.168.199.6:2379"
[root@master ~]# systemctl start etcd
[root@master ~]# netstat -autup|grep 2379
tcp 0 0 localhost:2379 0.0.0.0:* LISTEN 5442/etcd
tcp 0 0 master:2379 0.0.0.0:* LISTEN 5442/etcd
tcp 0 0 master:2379 master:51468 ESTABLISHED 5442/etcd
tcp 0 0 localhost:2379 localhost:38090 ESTABLISHED 5442/etcd
tcp 0 0 master:51468 master:2379 ESTABLISHED 5442/etcd
tcp 0 0 master:51456 master:2379 TIME_WAIT -
tcp 0 0 localhost:38090 localhost:2379 ESTABLISHED 5442/etcd
[root@master ~]# systemctl enable etcd
检查etcd cluster状态
[root@master ~]# etcdctl cluster-health
member 8e9e05c52164694d is healthy: got healthy result from http://192.168.199.6:2379
cluster is healthy
检查etcd集群成员列表
[root@master ~]# etcdctl member list
8e9e05c52164694d: name=default peerURLs=http://localhost:2380 clientURLs=http://192.168.199.6:2379,http://localhost:2379 isLeader=true
[root@master ~]# vim /etc/kubernetes/config
22 KUBE_MASTER="--master=http://192.168.199.6:8080"
[root@master ~]# vim /etc/kubernetes/apiserver
8 KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"
17 KUBE_ETCD_SERVERS="--etcd-servers=http://192.168.199.6:2379"
23 KUBE_ADMISSION_CONTROL="--admission-control=AlwaysAdmit"
[root@master ~]# vim /etc/kubernetes/controller-manager 该文件不用修改
[root@master ~]# vim /etc/kubernetes/scheduler
7 KUBE_SCHEDULER_ARGS="--address=0.0.0.0"
[root@master ~]# vim /etc/sysconfig/flanneld
4 FLANNEL_ETCD_ENDPOINTS="http://192.168.199.6:2379"
8 FLANNEL_ETCD_PREFIX="/k8s/network"
11 FLANNEL_OPTIONS="--iface=ens32"
[root@master ~]# systemctl restart flanneld
[root@master ~]# etcdctl set /k8s/network/config '{"network":"10.255.0.0/16"}'
{"network":"10.255.0.0/16"}
[root@master ~]# etcdctl get /k8s/network/config
{"network":"10.255.0.0/16"}
[root@master ~]# systemctl restart kube-apiserver kube-controller-manager kube-scheduler.service
[root@master ~]# systemctl status kube-apiserver kube-controller-manager kube-scheduler.service
[root@master ~]# systemctl enable kube-apiserver kube-controller-manager kube-scheduler
[root@master ~]# systemctl enable flanneld
node1
[root@node1 ~]# vim /etc/sysconfig/flanneld
4 FLANNEL_ETCD_ENDPOINTS="http://192.168.199.6:2379"
8 FLANNEL_ETCD_PREFIX="/k8s/network"
11 FLANNEL_OPTIONS="--iface=ens33"
[root@node1 ~]# ps -aux|grep flanneld
root 10467 0.2 1.7 375996 31932 ? Ssl 20:33 0:00 /usr/bin/flanneld -etcd-endpoints=http://192.168.199.6:2379 -etcd-prefix=/k8s/network --iface=ens33
root 10615 0.0 0.0 112676 984 pts/1 S+ 20:35 0:00 grep --color=auto flanneld
[root@node1 ~]#
[root@node1 ~]# vim /etc/kubernetes/config
22 KUBE_MASTER="--master=http://192.168.199.6:8080"
[root@node1 ~]# vim /etc/kubernetes/kubelet
5 KUBELET_ADDRESS="--address=0.0.0.0"
11 KUBELET_HOSTNAME="--hostname-override=node1"
14 KUBELET_API_SERVER="--api-servers=http://192.168.199.6:8080"
[root@node1 ~]# systemctl restart flanneld kube-proxy.service kubelet docker
[root@node1 ~]# systemctl enable flanneld kube-proxy.service kubelet docker
[root@node1 ~]# systemctl status flanneld kube-proxy.service kubelet docker
[root@node1 ~]# ifconfig
flannel0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1472
inet 10.255.4.0 netmask 255.255.0.0 destination 10.255.4.0
inet6 fe80::d5dd:8c9b:48b6:5cb5 prefixlen 64 scopeid 0x20<link>
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3 bytes 144 (144.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
node2:
node2的配置和node1的一样,所以只需要把node1的配置文件复制过去即可。
[root@node1 ~]#scp /etc/sysconfig/flanneld 192.168.199.8:/etc/sysconfig/
[root@node2 ~]# vim /etc/sysconfig/flanneld
# Flanneld configuration options
# etcd url location. Point this to the server where etcd runs
FLANNEL_ETCD_ENDPOINTS="http://192.168.199.6:2379"
# etcd config key. This is the configuration key that flannel queries
# For address range assignment
FLANNEL_ETCD_PREFIX="/k8s/network"
# Any additional options that you want to pass
FLANNEL_OPTIONS="--iface=ens33" 自己本地的网卡,若网卡不是ens33的话自己修改一下
[root@node1 ~]#scp /etc/kubernetes/config 192.168.199.8:/etc/kubernetes/
[root@node1 ~]#scp /etc/kubernetes/proxy 192.168.199.8:/etc/kubernetes/
[root@node1 ~]#scp /etc/kubernetes/kubelet 192.168.199.8:/etc/kubernetes/
[root@node2 ~]# vim /etc/kubernetes/kubelet
11 KUBELET_HOSTNAME="--hostname-override=node2" 修改为自己的主机名
[root@node2 ~]#systemctl restart flanneld kube-proxy kubelet docker
[root@node2 ~]#systemctl enable flanneld kube-proxy kubelet docker
[root@node2 ~]#systemctl status flanneld kube-proxy kubelet docker
完成之后再master上查看kubernetes集群的状态,这样集群就做好了。
在主上查看集群状态:
[root@master log]# kubectl get nodes
NAME STATUS AGE
node1 Ready 7m
node2 Ready 1m
kubernetes集群搭建的更多相关文章
- Kubernetes集群搭建之企业级环境中基于Harbor搭建自己的私有仓库
搭建背景 企业环境中使用Docker环境,一般出于安全考虑,业务使用的镜像一般不会从第三方公共仓库下载.那么就要引出今天的主题 企业级环境中基于Harbor搭建自己的安全认证仓库 介绍 名称:Harb ...
- kubernetes集群搭建(2):docker私有仓库
kubernetes集群搭建(1):环境准备 中各节点已经安装好了docker,请确认docker已启动并正常运行 1.通过命令启动私库 docker run -d -p 5000:5000 --pr ...
- Centos 7 kubernetes集群搭建
一.环境准备 Kubernetes支持在物理服务器或虚拟机中运行,本次使用虚拟机准备测试环境,硬件配置信息如表所示: IP地址 节点角色 CPU Memory Hostname 磁盘 192.168. ...
- Kubernetes集群搭建(详细)
kubernetes集群搭建(kubeadm方式) kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具.这个工具能通过两条指令完成一个kubernetes集群的部署: # 创 ...
- Kubernetes集群搭建过程中遇到的问题
1. 创建Nginx Pod过程中报如下错误: #kubectlcreate -f nginx-pod.yaml Error from server: error when creating &quo ...
- Kubernetes集群搭建之系统初始化配置篇
Kubernetes的几种部署方式 1. minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用.不能用于生产环境 ...
- Kubernetes集群搭建 ver1.20.5
目录 部署方式 1. 基础环境准备 1.1 基础初始化 1.2 安装docker 2. 部署harbor及haproxy高可用反向代理 2.1 镜像加速配置 2.2 高可用master可配置 3. 初 ...
- [云原生]Kubernetes - 集群搭建(第2章)
目录 一.前置知识点 二.kubeadm部署方式介绍 三.安装要求 四.最终目标 五.准备环境 六.环境初始化 6.1 设置系统主机名以及Hosts文件的相互解析 6.2 安装依赖文件(所有节点) 6 ...
- Docker 与 K8S学习笔记(二十三)—— Kubernetes集群搭建
小伙伴们,好久不见,这几个月实在太忙,所以一直没有更新,今天刚好有空,咱们继续k8s的学习,由于我们后面需要深入学习Pod的调度,所以我们原先使用MiniKube搭建的实验环境就不能满足我们的需求了, ...
- Kubernetes集群搭建之Master配置篇
本次系列使用的所需部署包版本都使用的目前最新的或最新稳定版,安装包地址请到公众号内回复[K8s实战]获取 今天终于到正题了~~ 生成kubernets证书与私钥 1. 制作kubernetes ca证 ...
随机推荐
- java lesson15Homework
package lesson15; /** * 1. 使用ArrayList存储整型元素,并对元素进行升序输出 */ import java.util.ArrayList; import java.u ...
- 移动端真机debug调试神器 vConsole学习(二)之实战
项目中实际使用 在项目中实际使用的时候发现还是有很多问题的 最初使用方式 <script src="vconsole.min.js"></script> ...
- 安装多个ORACLE导致多个Oracle HOME的情况!
Oracle由于版本的不同,在注册表中产生的注册表信息也有所不同,但主要的键值信息还是一样的,例如Oracle10g比oracle9i在注册表中表现的更为“简洁”,在未知的情况下,获取Oracle10 ...
- python获取文件及文件夹大小
Python3.3下测试通过 获取文件大小 使用os.path.getsize函数,参数是文件的路径 获取文件夹大小 import os from os.path import join, getsi ...
- XVS 操作
1. xvs安装 rpm -i ***.rpm 2.获取license root@ubuntu:/usr/local/xvs# ./xvs -L .Host ID: 16b3d720584704 ...
- day8 socket
代码: 例子1:socket tcp 通讯 server端 import socketserver = socket.socket()ip_port = ("127.0.0.1", ...
- webpack初体验_集成插件_集成loader
webpack初体验 如果没装 webpack 就先装一下,命令行输入npm i webpack -g 新建一个项目 创建一个空的项目 定义一个名称 创建一个Module 选择静态 web 输入名称 ...
- python之字典一
字典的定义: 前面我们说过列表,它适合于将值组织到一个结构中并且通过编号对其进行引用.字典则是通过名字来引用值的数据结构,并且把这种数据结构称为映射,字典中的值没有特殊的顺序,都存储在一个特定的键(k ...
- Java注解【一、概述】
前面几篇Java学习笔记都是半夜写的,比较伤身体,今天开始想调整生物钟,早上起来学2小时,看看能坚持多久 本周目标: 1.JavaJDBC使用 2.JavaWeb编程 3.Java框架基础(反射+注解 ...
- Java反射【三、方法的反射】
获取一个类下的所有方法 可以获取类类型后,获取到所有方法及相关信息 Method[] ms = c.getMethods(); 获取方法列表(public) Method[] ms = c.getDe ...