部署环境 centos7.4

master01: 192.168.85.110

node01: 192.168.85.120

node02: 192.168.85.130

所有节点都要写入hosts

[root@master01 ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

master01: 192.168.85.110

node01: 192.168.85.120

node02: 192.168.85.130

以下都要在所有节点上执行

准备docker yum仓库

准备k8s yum仓库

配置docker的yum库

cd /etc/yum.repos.d/

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

配置k8s的yum库

/etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=kubernetes

baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/

gpgcheck=0

enabled=1

所有节点安装

安装必备软件

yum install lrzsz wget vim -y

kubeadm部署

yum 安装docker

yum -y install docker-ce

编辑docker的环境变量

如果有HTTP代理,可以添加自己的代理,没有就忽略

vim /usr/lib/systemd/system/docker.service

Environment="NO_PROXY=127.0.0.0/8"

docker国内加速

mkdir -p /etc/docker

vim /etc/docker/daemon.json

{

"registry-mirrors": ["https://lvb4p7mn.mirror.aliyuncs.com"]

}

加载环境变量

systemctl daemon-reload

启动docker并设置开机启动

systemctl start docker

systemctl enable docker

kubeadm部署

yum 安装 kubeadm

yum -y install  kubeadm-1.15.0-0.x86_64  kubectl-1.15.0-0.x86_64 kubelet-1.15.0-0.x86_64 kubernetes-cni-0.7.5-0.x86_64

swap没关的话就忽略swap参数

vim /etc/sysconfig/kubelet

KUBELET_EXTRA_ARGS="--fail-swap-on=false"

KUBE_PROXY_MODE=ipvs

开机启动kubelet

systemctl enable kubelet

镜像加载

kubeadm镜像安装

先提前下载镜像k8s-1.15.0.tar.gz

链接: https://pan.baidu.com/s/1AhDsQHUIMd0CQufGteFSXw 提取码: vshs

上传到各节点

各节点都要加载镜像

docker load  -i k8s-1.15.0.tar.gz

flannel镜像安装

先提前下载镜像flannel-v0.11.0.tar.gz

链接: https://pan.baidu.com/s/1QEssOf2yX1taupQT4lTxQg 提取码: x42r

各节点都要加载镜像

docker load  -i flannel-v0.11.0.tar.gz

kubectl命令自动补全

yum install bash-completion* -y

##写入环境变量

source <(kubectl completion bash)

echo "source <(kubectl completion bash)" >> ~/.bashrc

部署k8s

master节点部署

kubeadm 初始化

kubeadm init  --kubernetes-version=v1.15.0 --pod-network-cidr=10.244.0.0/16  --service-cidr=10.96.0.0/12 --ignore-preflight-errors=all

初始化完成后

记住节点要加入的token

kubeadm join 192.168.85.110:6443 --token fo0kd9.ocdrd0obki28g76i  --discovery-token-ca-cert-hash sha256:9a5b3ec15c16926e667281cda008b0b550ed5404628453929b0c2a551cbb0bfd  -- ignore-preflight-errors=all

按照要求执行三个步骤

mkdir -p $HOME/.kube

cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

chown $(id -u):$(id -g) $HOME/.kube/config

检查集群健康状态

[root@master01 ~]# kubectl get cs

NAME                 STATUS    MESSAGE             ERROR

controller-manager   Healthy   ok

scheduler            Healthy   ok

etcd-0               Healthy   {"health":"true"}

master部署网络插件flannel

[root@master01 ~]# kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

node节点部署

各节点利用token部署

kubeadm join 192.168.85.110:6443 --token fo0kd9.ocdrd0obki28g76i  --discovery-token-ca-cert-hash sha256:9a5b3ec15c16926e667281cda008b0b550ed5404628453929b0c2a551cbb0bfd --ignore-preflight-errors=all

默认token的有效期为24小时,当过期之后,该token就不可用了,以后加入节点需要新token

master重新生成新的token

[root@master01 ~]# kubeadm token create

905hgq.1akgmga715dzooxo

[root@master01 ~]# kubeadm token list

TOKEN                     TTL       EXPIRES                     USAGES                   DESCRIPTION   EXTRA GROUPS

905hgq.1akgmga715dzooxo   23h       2019-06-23T15:18:24+08:00   authentication,signing   <none>        system:bootstrappers:kubeadm:default-node-token

获取ca证书sha256编码hash值

[root@master01 ~]# openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'

2db0df25f40a3376e35dc847d575a2a7def59604b8196f031663efccbc8290c2

利用新token加入集群

kubeadm join 192.168.85.110:6443 --token 905hgq.1akgmga715dzooxo \

--discovery-token-ca-cert-hash sha256:2db0df25f40a3376e35dc847d575a2a7def59604b8196f031663efccbc8290c2 \

--ignore-preflight-errors=all

最后查看各节点是否就绪

[root@master01 ~]# kubectl get node

NAME       STATUS   ROLES    AGE    VERSION

master01   Ready    master   3m1s   v1.15.0

node01     Ready    <none>   72s    v1.15.0

node02     Ready    <none>   54s    v1.15.0

开启ipvs

加载ipvs

内核4.19以上是nf_conntrack,4.19以下是 nf_conntrack_ipv4,其他不变

[root@master01 ~]# uname -r

5.2.2-1.el7.elrepo.x86_64

[root@master01 ~]# cat /etc/sysconfig//modules/ipvs.modules

#!/bin/bash

module=(ip_vs

ip_vs_rr

ip_vs_wrr

ip_vs_sh

ip_vs_lc

br_netfilter

nf_conntrack)

for kernel_module in ${module[@]};do

/sbin/modinfo -F filename $kernel_module |& grep -qv ERROR && echo $kernel_module >> /etc/modules-load.d/ipvs.conf || :

done

ipvs_modules_dir="/usr/lib/modules/5.2.2-1.el7.elrepo.x86_64/kernel/net/netfilter/ipvs"

for i in `ls $ipvs_modules_dir | sed  -r 's#(.*).ko#\1#'`; do

/sbin/modinfo -F filename $i  &> /dev/null

if [ $? -eq 0 ]; then

/sbin/modprobe $i

fi

done

[root@master01 ~]# lsmod | grep ip_vs

ip_vs_wlc              16384  0

ip_vs_sed              16384  0

ip_vs_pe_sip           16384  0

nf_conntrack_sip       32768  1 ip_vs_pe_sip

ip_vs_ovf              16384  0

ip_vs_nq               16384  0

ip_vs_mh               16384  0

ip_vs_lblcr            16384  0

ip_vs_lblc             16384  0

ip_vs_ftp              16384  0

nf_nat                 40960  4 ip6table_nat,iptable_nat,xt_MASQUERADE,ip_vs_ftp

ip_vs_fo               16384  0

ip_vs_dh               16384  0

ip_vs_lc               16384  0

ip_vs_sh               16384  0

ip_vs_wrr              16384  0

ip_vs_rr               16384  4

ip_vs                 151552  35 ip_vs_wlc,ip_vs_rr,ip_vs_dh,ip_vs_lblcr,ip_vs_sh,ip_vs_ovf,ip_vs_fo,ip_vs_nq,ip_vs_lblc,ip_vs_pe_sip,ip_vs_wrr,ip_vs_lc,ip_vs_mh,ip_vs_sed,ip_vs_ftp

nf_conntrack          139264  6 xt_conntrack,nf_nat,nf_conntrack_sip,nf_conntrack_netlink,xt_MASQUERADE,ip_vs

nf_defrag_ipv6         24576  2 nf_conntrack,ip_vs

libcrc32c              16384  4 nf_conntrack,nf_nat,xfs,ip_vs

[root@master01 ~]# kubectl -n kube-system edit configmaps kube-proxy

kind: KubeProxyConfiguration

metricsBindAddress: 127.0.0.1:10249

mode: "ipvs"   ### 添加ipvs就行

安装ipvsadm

yum install ipvsadm ipset sysstat conntrack libseccomp conntrack-tools  socat  -y

删除原来的kube-proxy,重新加载kube-proxy

[root@master01 ~]# kubectl delete  daemonsets kube-proxy   -n kube-system

[root@master01 ~]# ipvsadm -Ln

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  10.96.0.1:443 rr

-> 192.168.48.101:6443          Masq    1      2          0

TCP  10.96.0.10:53 rr

-> 10.244.0.3:53                Masq    1      0          0

-> 10.244.1.3:53                Masq    1      0          0

TCP  10.96.0.10:9153 rr

-> 10.244.0.3:9153              Masq    1      0          0

-> 10.244.1.3:9153              Masq    1      0          0

UDP  10.96.0.10:53 rr

-> 10.244.0.3:53                Masq    1      0          0

-> 10.244.1.3:53                Masq    1      0          0

原文:https://blog.csdn.net/tangwei0928/article/details/93377100

kubernetes部署1.15.0版本的更多相关文章

  1. 2、kubeadm快速部署kubernetes(v1.15.0)集群190623

    一.网络规划 节点网络:192.168.100.0/24 Service网络:10.96.0.0/12 Pod网络(默认):10.244.0.0/16 二.组件分布及节点规划 master(192.1 ...

  2. CentOS 7.5 通过kubeadm部署k8s-1.15.0

    kubeadm是Kubernetes官方提供的用于快速安装Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验k ...

  3. Kubernetes部署通用手册 (支持版本1.19,1.18,1.17,1.16)

    Kubernetes平台环境规划 操作环境 rbac 划分(HA高可用双master部署实例) 本文穿插了ha 高可用部署的实例,当前章节设计的是ha部署双master 部署 内网ip 角色 安装软件 ...

  4. Kubernetes 部署 Kubernetes-Dashboard v2.0.0 尝鲜

    目录· . 一.简介· . 二.兼容性· . 三.部署 Kubernetes Dashboard· . 1.Dashboard RBAC· . 2.创建 ConfigMap.Secret· . 3.k ...

  5. GeoServer 2.15.0版本跨域问题解决方法

    geoserver默认不开启跨域设置,开启步骤如下: 1.修改配置文件web.xml,该配置文件的路径如下 \webapps\geoserver\WEB-INF\web.xml 2.搜索:cross- ...

  6. 比Ansible更吊的自动化运维工具,自动化统一安装部署自动化部署udeploy 1.0 版本发布

    新增功能: 逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一shell脚本开发,由框架统一调用. 并发多线程部署,不管多少台服务器,多少个服务,同时发起线程进行更新.部署.启动. 提高list规则 ...

  7. CentOS 6.4编译安装和部署Zabbix 2.0版本监控(中文)

    [一].zabbix简介 zabbix是一个基于web界面的提供分布式系统监视以及网络监视功能的企业级开元解决方案 zabbix由2部分构成,zabbix_server和可选组件zabbix_agen ...

  8. 阿里云centos7.4安装并部署svn1.10.0版本(配置多仓库,加入开机自启动)

    如何安装最新版本 1.10.0: 如果已安装旧版本,先卸载 yum remove subversion* 查看当前可安装的版本 yum list | grep subversion 可以去官网下载安装 ...

  9. Drools 7.15.0 docker容器方式部署

    关于drools的相关介绍就不再赘述了,关于drools网上的资料都很少,或者都有些老了,最近折腾了一下,记录下安装部署的过程,希望能节省下大家的时间. 一.快速部署 1.拉取基础镜像,命令如下: d ...

  10. Altera Quartus II 15.0安装

       写在前面的话 开始学习之前,我们首先应该选择并安装好自己的开发工具,那么我们用什么软件来编译代码呢?梦翼师兄推荐给大家的是Altera 目前最新的Quartus II 15.0 版本,当然啦,这 ...

随机推荐

  1. [开源自荐] Catime 不一样的计时器(番茄时钟),非常欢迎反馈

    Catime 一款简洁的 Windows 倒计时工具,具有透明界面和丰富的自定义选项. Github:https://github.com/vladelaina/Catime 特点 极简设计: 透明界 ...

  2. 收集 Spring Boot 相关的学习资料

    收集 Spring Boot 相关的学习资料,Spring Cloud点这里 重点推荐:Spring Boot 中文索引 推荐博客 纯洁的微笑-Spring Boot系列文章 林祥纤-从零开始学Spr ...

  3. 【COM3D2Mod 制作教程(7)】实战!制作衣服部分(上)

    [COM3D2Mod 制作教程(7)]实战!制作衣服部分(上) 教程介绍 隔了 N 个月终于迎来了第二期的 Mod 教程部分,这一期我们将开始制作人物的衣服部分. 因为体型适配的原因,衣服部分要比身体 ...

  4. Typecho浏览统计和热门文章调用插件TePostViews

    TePostViews是一款简单的typecho热门文章调用插件,通过该插件可以显示每篇文章的阅读次数,以及调用阅读次数最多或者评论数最多的文章作为热门文章调用,用户可以自由选择调用依据和调用文章的数 ...

  5. hbase - [04] java访问hbase

    需要导入jar包 $HBASE_HOME/lib下的所有jar包 $HADOOP_HOME/share/hadoop/common的所有jar包 package com.harley.hbase.te ...

  6. linux shell用expect实现在scp时自动输入密码

    文章目录 linux shell用expect自动输入密码 按行读取文件 expect 其他 linux shell用expect自动输入密码 最近有东西需要部署到很多服务器上去,一个服务器一个服务器 ...

  7. 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器

    需求背景 阿里云服务器到期了,正好家里有闲置的电脑,还有公网IP,打算装个linux服务器使用.本文章主要重点是实现远程连接虚拟机内服务器,打通网络连接,更多玩法大家可以自行探索. ps: 公网IP自 ...

  8. windows nvm 切换node版本后,npm找不到

    前言 在 windows 使用 nvm,管理 node 版本时,nvm install 14.21.3 后,发现在指定 node 版本的 node_modules 文件夹中没有对应的 npm 包,这时 ...

  9. Delphi 判断当前系统是否64位

    uses Winapi.Windows; function IsWin64: Boolean; var IsWow64Process: function(Handle: THandle; var Re ...

  10. 万字长文详解Text-to-SQL

    什么是Text-to-SQL 在各个企业数据量暴涨的现在,Text-to-SQL越来越重要了,所以今天就来聊聊Text-to-SQL. Text-to-SQL是一种将自然语言查询转换为数据库查询的技术 ...