二进制安装K8s 之 环境准备

1、系统&软件
序号 设备\系统 版本
1 宿主机 MacBook Pro 11.4
2 系统 Centos 7.8
3 虚拟机 Parallels Desktop 16 for Mac

二、规划和软件版本

1、IP规划
序号 角色 IP 备注
1 master01 192.168.100.170 etcd、kube-apiserver、kube-controller-manager、kube-scheduler、kubelet、kube-proxy(即使k8s master也是k8s node、etcd)
2 master02 192.168.100.171 etcd、kube-apiserver、kube-controller-manager、kube-scheduler、kubelet、kube-proxy (即使k8s master也是k8s node、etcd)
3 node1 192.168.100.172 etcd、kubelet、kube-proxy (k8s node、etcd)
4 node2 192.168.100.173 kubelet、kube-proxy (k8s node)
5 registry 192.168.100.174 harbor (docker image 私有仓库)
6 gitlab 192.168.100.175 gitlab (代码仓库)
7 LB01 192.168.100.176 nginx、lvs (负载均衡master)
8 LB02 192.168.100.177 nginx、lvs (负载均衡master)
9 虚拟ip 192.168.100.178 lvs 虚拟ip
2、软件版本

软件版本不同,操作也会有所不同,一定要注意版本

序号 软件 版本
1 kubeenetes v1.20.9
2 docker v20.10.7
3 docker-compos v1.29.2
4 helm v3.6.3
5 etcd v3.4.15
6 harbor v2.3.1
7 gitlab v14.1.2
9 jenkins v2.289.3

三、内核升级【非必需升级,但是要满足docker、k8s需求】

uname -sr

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm yum clean all && yum -y update yum -y --enablerepo=elrepo-kernel install kernel-ml awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
#关键步骤,选择开机启动的默认内核
grub2-set-default

四、虚拟机需要检查product_uuid ,因为虚拟机使用的clone镜像,所以基本都样,如果你使用是mac + PD,请看我另一篇文章,修改UUID。

1、uuid 一样会导致k8s集群出问题,如果一样需要自行修改,你可以使用命令 ip link 或 ifconfig -a 来获取网络接口的 MAC 地址

#查看网卡的uuid,每一台都要检测

ifconfg

#对 product_uuid 校验,每一台都要检测
cat /sys/class/dmi/id/product_uuid

2、修改主机名

# 根据自己需要设置
hostnamectl set-hostname k8s-master01

3、关闭防火墙selinux和Swap

systemctl stop firewalld
systemctl disable firewalld
#关闭selinux
# 永久:
sed -i 's/enforcing/disabled/' /etc/selinux/config #临时关闭
setenforce 0 # 修改/etc/fstab永久关闭Swap
cp -p /etc/fstab /etc/fstab.bak$(date '+%Y%m%d%H%M%S') # CentOS
sed -i "s/\/dev\/mapper\/centos-swap/\#\/dev\/mapper\/centos-swap/g" /etc/fstab # 修改后重新挂载全部挂载点
mount -a # 查看Swap
free -m
cat /proc/swaps

4、修改hosts

便于解析

cat >> /etc/hosts << EOF
192.168.100.170 k8s-master01
192.168.100.171 k8s-master02
192.168.100.172 k8s-node01
192.168.100.173 k8s-node02
192.168.100.174 k8s-registey
192.168.100.174 registry.com
192.168.100.175 gitlab.registry.com
EOF

5、部署calico网络需要

将桥接的IPv4流量传递到iptables的链:

cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF # 生效
sysctl --system 时间同步:
yum install ntpdate -y
ntpdate time.windows.com
6、安装docker
  • 安装docker 自由选择二进制安装或者yum安装
yum install -y yum-utils
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo yum install -y docker-ce docker-ce-cli containerd.io
  • 创建docker 国内镜像仓库地址 配置文件
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://registry.docker-cn.com", "https://docker.mirrors.ustc.edu.cn"]
}
EOF
  • 启动并设置开机启动
systemctl daemon-reload
systemctl start docker
systemctl enable docker
7、创建 部署所需目录:k8s、docker 、calico、etcd、dockfile等
mkdir /data/{docker/TSL/{etcd,k8s},etcd/{bin,config,ssl},k8s/{bin,config,ssl,logs,calico/{bin,config,ssl}}} -p
mkdir /data/docker/{dockercompose,dockerfile,imagefile} -p #目录说明 /data/etcd/
├── bin
├── config
└── ssl /data/k8s/
├── bin
├── calico
│   ├── bin
│   ├── config
│   └── ssl
├── config
├── deplotment
├── logs
└── ssl /data/docker/
├── dockercompose
├── dockerfile
└── TSL
├── etcd
└── k8s

1、二进制安装K8s 之 环境准备的更多相关文章

  1. 10、二进制安装K8s之部署CoreDNS 和Dashboard

    二进制安装K8s之部署CoreDNS 和Dashboard CoreDNS 和Dashboard 的yaml文件在 k8s源代码压缩包里面可以找到对应的配置文件,很多人从网上直接下载使用别人的,会导致 ...

  2. 7、二进制安装K8s之部署kube-proxy

    二进制安装K8s之部署kube-proxy 1.创建配置文件 cat > /data/k8s/config/kube-proxy.conf << EOF KUBE_PROXY_OPT ...

  3. 8、二进制安装K8s之部署CIN网络

    二进制安装K8s之部署CIN网络 部署CIN网络可以使用flannel或者calico,这里介绍使用calico ecd 方式部署. 1.下载calico二进制安装包 创建所需目录 mkdir -p ...

  4. 9、二进制安装K8s之增加node

    二进制安装K8s之增加node 1.复制文件,要部署几台就直接复制即可 #二进制文件 scp /data/k8s/bin/{kubelet,kube-proxy} root@192.168.100.1 ...

  5. 6、二进制安装K8s之部署kubectl

    二进制安装K8s之部署kubectl 我们把k8s-master 也设置成node,所以先master上面部署node,在其他机器上部署node也适用,更换名称即可. 1.在所有worker node ...

  6. 3、二进制安装K8s之部署kube-apiserver

    二进制安装K8s之部署kube-apiserver 一.生成 kube-apiserver 证书 1.自签证书颁发机构(CA) cat > ca-config.json <<EOF ...

  7. 4、二进制安装K8s 之 部署kube-controller-manager

    二进制安装K8s 之 部署kube-controller-manager 1.创建配置文件 cat > /data/k8s/config/kube-controller-manager.conf ...

  8. 5、二进制安装K8s 之 部署kube-scheduler

    二进制安装K8s之部署kube-scheduler 1.创建配置文件 cat > /data/k8s/config/kube-scheduler.conf << EOF KUBE_S ...

  9. 2、二进制安装K8s 之 部署ETCD集群

    二进制安装K8s 之 部署ETCD集群 一.下载安装cfssl,用于k8s证书签名 二进制包地址:https://pkg.cfssl.org/ 所需软件包: cfssl 1.6.0 cfssljson ...

随机推荐

  1. Jmeter之事务控制器

    性能测试的结果统计时我们一定会关注TPS,TPS代表的是每秒事务数,每个事务对应的是我们的请求.虽然JMeter能够帮我们把每个请求统计成一个事务,但有时候我们希望把多个操作统计成一个事务,JMete ...

  2. 基于FPGA的图像镜像

    图像镜像,一种较为常见的图像处理操作,分为水平镜像.垂直镜像.对角镜像.水平镜像即处理后的图像与原图像关于垂直线对称,垂直镜像为处理后的图像与 原图像关于水平线对称,对角镜像则关于对角线对称. 关于低 ...

  3. 【16位RAW图像处理三】直方图均衡化及局部直方图均衡用于16位图像的细节增强。

    通常我们生活中遇到的图像,无论是jpg.还是png或者bmp格式,一般都是8位的(每个通道的像素值范围是0-255),但是随着一些硬件的发展,在很多行业比如医疗.红外.航拍等一些场景下,拥有更宽的量化 ...

  4. div标签width:auto无效

    1,因为div标签默认是display:block,独占一行,宽度为父元素的100%,但是高度是auto,跟随内部内容而定.所以要想 设值父元素随子元素的宽高,那么就要设置div标签为display: ...

  5. Java的标准日志

    虽然开源社区有很多优秀的日志框架,但我们学习标准的java日志框架是为了更好的理解其他框架啊(近期项目要用ELK) 看自己以前写的Log4J简直不忍直视啊啊啊啊,那时还感觉自我良好 1. 为什么要使用 ...

  6. 【动态规划】石子合并 luogu-1880

    分析 简单的区间DP AC代码 #include <bits/stdc++.h> using namespace std; #define ms(a,b) memset(a,b,sizeo ...

  7. Java中9种常见的CMS GC问题分析与解决

    1. 写在前面 | 本文主要针对 Hotspot VM 中"CMS + ParNew"组合的一些使用场景进行总结.重点通过部分源码对根因进行分析以及对排查方法进行总结,排查过程会省 ...

  8. 🔥 LeetCode 热题 HOT 100(1-10)

    1. 两数之和 思路一:暴力遍历所有组合 class Solution { public int[] twoSum(int[] nums, int target) { for (int i = 0; ...

  9. SimpleDateFormat类的线程安全问题和解决方案

    摘要:我们就一起看下在高并发下SimpleDateFormat类为何会出现安全问题,以及如何解决SimpleDateFormat类的安全问题. 本文分享自华为云社区<SimpleDateForm ...

  10. Java的三种日期工具 Date Calendar SimpleDateFormat

    三种日期工具 配合下面的案例可以更加深度的了解 Date 需要导包java.util.Date Date d = new Date(); //两种都是获取到现在时间的时间戳 long t1 = d.g ...