资源链接:https://pan.baidu.com/s/1-PT_QQAf7cTu_znX-S-r9Q 密码:33sr

转发:http://blog.51cto.com/lizhenliang/1983392

环境规划

操作系统:CentOS7.3_x64

kubernetes安装目录:/opt/kubernetes

版本说明:

Kubernetes:v1.9

Docker:18.06.0-ce

Etcd:3.2

角色

IP

组件

master

192.168.1.195

etcd

kube-apiserver

kube-controller-manager

kube-scheduler

node01

192.168.1.196

kube-proxy

kubelet

docker

flannel

node02

192.168.1.197

kube-proxy

kubelet

docker

flannel

安装Docker

所有节点执行:

 

setenforce 0

iptables -F

iptables -t nat -F

iptables -I FORWARD -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT

iptables -I INPUT -s 192.168.0.0/24 -j ACCEPT

开启路由转发

echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
echo 1 > /proc/sys/net/bridge/bridge-nf-call-ip6tables

 

在Node上安装Docker

# 安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加Docker软件包源

yum-config-manager \

--add-repo \

https://download.docker.com/linux/centos/docker-ce.repo

# 更新yum包索引

yum makecache fast

# 安装Docker CE

yum install docker-ce

设置默认从中国镜像仓库中拉取:

# vi /etc/docker/daemon.json

{

"registry-mirrors": [ "https://registry.docker-cn.com"]

}

# systemctl start docker

# systemctl enable docker

测试:

# docker info

、安装Etcd

2.1 下载二进制包

#yum install etcd –y

# vi /etc/etcd/etcd.conf

# systemctl start etcd

# systemctl enable etcd

四、部署Flannel网络

1)写入分配的子网段到etcd,供flanneld使用

# etcdctl -endpoint="http://192.168.1.195:2379" set /coreos.com/network/config  '{ "Network": "172.17.0.0/16", "Backend": {"Type": "vxlan"}}'

2)下载二进制包

# wget https://github.com/coreos/flannel/releases/download/v0.9.1/flannel-v0.9.1-linux-amd64.tar.gz

# tar zxvf flannel-v0.9.1-linux-amd64.tar.gz

# mv flanneld mk-docker-opts.sh /usr/bin

3)配置Flannel

vi /etc/sysconfig/flanneld

FLANNEL_OPTIONS="--etcd-endpoints=http://192.168.1.195:2379  --ip-masq=true"

4)systemd管理Flannel

# vi /usr/lib/systemd/system/flanneld.service

[Unit]

Description=Flanneld overlay address etcd agent

After=network.target

After=network-online.target

Wants=network-online.target

Before=docker.service

[Service]

Type=notify

EnvironmentFile=/etc/sysconfig/flanneld

ExecStart=/usr/bin/flanneld  $FLANNEL_OPTIONS

ExecStartPost=/usr/bin/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/subnet.env

Restart=on-failure

[Install]

WantedBy=multi-user.target

RequiredBy=docker.service

5)配置Docker启动指定子网段 (区别)

修改成如图:

6)启动

# systemctl daemon-reload

# systemctl start flanneld

# systemctl enable flanneld

# systemctl restart docker

五、获取Kubernetes二进制包

https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.9.md

这个二进制包里面包含了master和node的组件。

六、运行Master组件

解压准备好的包:unzip master.zip

# mkdir -p /opt/kubernetes/{bin,cfg}

# mv kube-apiserver kube-controller-manager kube-scheduler kubectl /opt/kubernetes/bin

# chmod +x /opt/kubernetes/bin/* && chmod +x *.sh

# ./apiserver.sh 192.168.1.195 http://127.0.0.1:2379

# ./scheduler.sh 127.0.0.1

# ./controller-manager.sh 127.0.0.1

# echo "export PATH=$PATH:/opt/kubernetes/bin" >> /etc/profile

# source /etc/profile

安装完之后验证一下

七、运行Node组件

解压准备好的包:unzip node.zip

# mkdir -p /opt/kubernetes/{bin,cfg}

# mv kubelet kube-proxy /opt/kubernetes/bin

# chmod +x /opt/kubernetes/bin/* && chmod +x *.sh

# mv *.kubeconfig /opt/kubernetes/cfg/

# ./kubelet.sh 192.168.1.196 10.10.10.2

# ./proxy.sh 192.168.1.196

本节点IP是本机eth0网卡IP地址。

八、查询集群状态

在Master执行查看集群节点:

# kubectl get node

查看组件状态:

# kubectl get cs

九、启动一个测试示例

启动一个Nginx副本示例:

# kubectl run nginx --image=nginx --replicas=3

pod正常运行后,创建Service:

# kubectl expose deployment nginx --port=88 --target-port=80 --type=NodePort

# kubectl get svc nginx

在Node节点访问:

curl <CLUSTER-IP>:PORT

十、部署Web UI

上传yaml文件

[root@master ~]# kubectl create -f kubernetes-dashboard.yaml

Centos 7 部署Kubernetes(K8S)集群的更多相关文章

  1. Centos7 安装部署Kubernetes(k8s)集群

    目录 一.系统环境 二.前言 三.Kubernetes 3.1 概述 3.2 Kubernetes 组件 3.2.1 控制平面组件 3.2.2 Node组件 四.安装部署Kubernetes集群 4. ...

  2. China Azure中部署Kubernetes(K8S)集群

    目前China Azure还不支持容器服务(ACS),使用名称"az acs create --orchestrator-type Kubernetes -g zymtest -n kube ...

  3. 5.基于二进制部署kubernetes(k8s)集群

    1 kubernetes组件 1.1 Kubernetes 集群图 官网集群架构图 1.2 组件及功能 1.2.1 控制组件(Control Plane Components) 控制组件对集群做出全局 ...

  4. Istio(二):在Kubernetes(k8s)集群上安装部署istio1.14

    目录 一.模块概览 二.系统环境 三.安装istio 3.1 使用 Istioctl 安装 3.2 使用 Istio Operator 安装 3.3 生产部署情况如何? 3.4 平台安装指南 四.Ge ...

  5. 使用kubectl管理Kubernetes(k8s)集群:常用命令,查看负载,命名空间namespace管理

    目录 一.系统环境 二.前言 三.kubectl 3.1 kubectl语法 3.2 kubectl格式化输出 四.kubectl常用命令 五.查看kubernetes集群node节点和pod负载 5 ...

  6. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录

    0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.感谢 在此感谢.net ...

  7. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之集群部署环境规划(一)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.环境规划 软件 版本 ...

  8. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之自签TLS证书及Etcd集群部署(二)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.服务器设置 1.把每一 ...

  9. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之flanneld网络介绍及部署(三)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.flanneld介绍 ...

随机推荐

  1. 【Weex学习】环境搭建

    教程来源:http://jspang.com/2017/07/12/weex/,我本地是第一次安装Android Studio和教程有些出入 一.软件安装 1.安装Node.js 2.安装Java(h ...

  2. It was not possible to find any compatible framework version

    It was not possible to find any compatible framework version The specified framework 'Microsoft.NETC ...

  3. C++基础算法学习——完美立方

    形如a 3 = b 3 + c 3 + d 3 的等式被称为完美立方等式.例如12 3 = 6 3 + 8 3 + 10 3 .编写一个程序,对任给的正整数N(N≤100),寻找所有的四元组(a, b ...

  4. 第 15 章 位操作(binbit)

    /*------------------------------------ binbit.c -- 使用位操作显示二进制 ------------------------------------*/ ...

  5. [技术] OIer的C++标准库 : 字符串库

    引入 上次我在博客里介绍了OI中可能用到的STL中的功能, 今天我们接着来发掘C++标准库中能为OI所用的部分. 点击传送至我的上一篇系列博文 众所周知, OI中经常用到字符串相关的处理, 这时善用字 ...

  6. python第二十九课——文件读写(写数据的操作)

    演示写数据的操作: 结论:往文件中写入数据,如果文件不存在,先创建文件,再写入内容 #1.打开文件 fw=open(r'd.txt','w',encoding='utf-8') #2.写数据操作 fw ...

  7. ubuntu 中安装 ZED SDK 及结合ROS 的使用

    双目视觉(stereo vision),由于估计深度相对容易且稠密,在姿态估计和建图时容易初始化和估计尺度,所以在三维重建,SLAM等的应用中有这广泛的应用. ZED 作为近几年出现的商业化双目传感器 ...

  8. [SQL123] Oracle SQL 统计一定时间间隔内的数据

    --Group by State_ts "per X minutes"select to_char(state_ts, 'hh24')||':'||floor(to_char(st ...

  9. 编写简易的JS输入框模糊查询匹配(附有源码和demo)

    前言:JS输入框模糊匹配插件以前在工作写过一个类似的 所以这次写轻松很多,这次写优化了几个方面: 1. 添加动态加载css文件 不需要引入css css全部在JS动态生成. 2. 不需要额外的标签 只 ...

  10. Python2.7-zipfile

    zipfile模块,提供了基本操作后缀为“zip”的文件的接口,一般使用 ZipFile 类完成操作 1.模块方法 zipfile.is_zipfile(filename):判断 filename 是 ...