首页 > 其他分享 >kubeadmin安装k8s

kubeadmin安装k8s

时间:2022-10-18 10:47:10浏览次数:84  
标签:kubernetes -- com etc yum docker k8s 安装 kubeadmin

2、主机准备

2.1、主机配置要求

  • 操作系统centos7
  • 内存>=2GB、CPU>=2、硬盘 >=100GB
  • 内核版本>4.4
  • 机器网络互通
  • 可以访问外网或者提前下载镜像
  • 禁用swap
软件 版本
操作系统 CentOS7 7.9.2009
docker-ce 17.03
k8s yum源安装
calico 3.1.3
主机名称 IP
master01 192.168.1.100
master02 192.168.1.101
worker01 192.168.1.102
worker02 192.168.1.103
etcd01 192.168.1.104

2.2、IP地址设置

hostnamectl set-hostname xxx

BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.2

systemctl restart network

2.3、主机名和IP地址解析

vim /etc/hosts

ip hostname
ip1 hostname1

2.3.5、升级内核版本

#安装完成后检查 /boot/grub2/grub.cfg 中对应内核 menuentry 中是否包含 initrd16 配置
#,如果没有,再安装一次!
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install -y kernel-lt

#设置开机从新内核启动
grub2-set-default "CentOS Linux (4.4.182-1.el7.elrepo.x86_64) 7 (Core)"

#重启
reboot
uname -r

4.4.212-1.el7.elrepo.x86_64

2.4、系统参数设置

cat > /etc/sysctl.d/kubernetes.conf << EOF
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
vm.swappiness=0
vm.overcommit_memory=1
vm.panic_on_oom=0
fs.inotify.max_user_watches=89100
EOF

或者
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
net.ipv4.tcp_tw_recycle=0
vm.swappiness=0 # 禁止使用 swap 空间,只有当系统 OOM 时才允许使用它
vm.overcommit_memory=1 # 不检查物理内存是否够用
vm.panic_on_oom=0 # 开启OOM
fs.inotify.max_user_instances=8192
fs.inotify.max_user_watches=1048576
fs.file-max=52706963
fs.nr_open=52706963
net.ipv6.conf.all.disable_ipv6=1
net.netfilter.nf_conntrack_max=2310720

# 加载模块
modprobe  br_netfilter

sysctl -p /etc/sysctl.d/kubernetes.conf

2.5、主机安全配置

防火墙

systemctl stop firewalld
systemctl disable firewalld

firewall-cmd --state

selinux

# 永久关闭 重启生效
sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

# 临时关闭 即刻生效
setenforce 0

安装依赖包

yum update -y
yum install -y conntrack ipvsadm ipset jq sysstat curl iptables libseccomp

2.6、swap分区设置

# 永久关闭 重启生效
sed -ri 's/.*swap.*/#$/' /etc/fstab

# 临时关闭 即刻生效
swapoff -a

2.7、时间同步

yum install -y ntpdate

crontab -e
0 */1 * * * ntpdate time.aliyun.com
*/1 * * * * ntpdate time.nist.gov

3、Docker安装

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

yum list docker-ce --showduplicates| sort -r

img
yum install --setopt=obsoletes=0 docker-ce-17.03.1.ce -y

mkdir /etc/docker

vim /etc/docker/daemon.json
{
"exec-opts":["native.cgroupdriver=systemd"],
"registry-mirrors":["https://y3oofaik.mirror.aliyuncs.com"]
}

systemctl restart docker
systemctl enable docker
docker version

docker卸载

查询卸载

yum list installed|grep docker

img

yum remove -y containerd.io.x86_64

直接卸载

yum remove -y docker-ce docker-ce-cli containerd.io docker-common docker-selinux docker-engine

上面四个都卸载

删除目录

rm -rf /opt/docker /opt/containerd /var/lib/docker

4、docker compose安装

all。

curl -L https://get.daocloud.io/docker/compose/releases/download/1.28.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

docker-compose version # 查看版本号,测试是否安装成功
你可以通过修改URL中的版本,可以自定义您的需要的版本。

5、安装k8s组件

  • kubeadm
  • kubelet 管理pod、容器的生命周期
  • kubectl 集群管理工具

更改yum源

更改yum源为阿里云。

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

[kubernetes]

name=kubernetes

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

enabled=1

gpgcheck=0

repo_gpgcheck=0

gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg

http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

yum install -y kubelet-1.17.4 kubeadm-1.17.4 kubectl-1.17.4 --disableexcludes=kubernetes

systemctl enable --now kubelet

配置kubelet的cgroup

vim /etc/sysconfig/kubelet

KUBELET_CGROUP_ARGS="--cgroup-driver=systemd"

KUBE_PROXY_MODE="ipvs"

6、准备集群镜像

kubeadm config images list

img

下载镜像

images=(
  kube-apiserver:v1.17.4
  kube-controller-manager:v1.17.4
  kube-scheduler:v1.17.4
  kube-proxy:v1.17.4
  pause:3.1
  etcd:3.4.3-0
  coredns:1.6.5
)

for imageName in ${images[@]}; do
  docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
  docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
  docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
done

7、集群初始化

创建集群master节点

kubeadm init --kubernetes-version=v1.17.4 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --apiserver-advertise-address=masterIP

img

mkdir -p $HOME/.kube

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

sudo chown $(id -u)

标签:kubernetes,--,com,etc,yum,docker,k8s,安装,kubeadmin
From: https://www.cnblogs.com/20190707wdd/p/16801798.html

相关文章

  • selenium 浏览器驱动下载安装(chrome)
    selenium下载地址https://pypi.org/project/selenium/4.0.0/#filesFireFox驱动下载地址https://github.com/mozilla/geckodriver/releaseschromeDriver下载地址ht......
  • SparkSQL on K8s 在网易传媒的落地实践
    随着云原生技术的发展和成熟,大数据基础设施积极拥抱云原生是业内发展的一大趋势。网易传媒在2021年成功将SparkSQL部署到了K8s集群,并实现与部分在线业务的混合部署,......
  • 阿里云免费证书申请,配置安装,使用tomcat,此时服务器同时支持http端口80访问,https端口 44
      参数   说明商品类型   默认已选择云盾证书服务(无需修改)。云盾证书服务类型   SSL证书服务的类型。默认已选择云盾SSL证书(无需修改),表示付费版SSL证书。......
  • NEO4j图数据库安装
    1.安装JDK11https://www.oracle.com/java/technologies/downloads/2.配置环境变量3.下载neo4jhttps://neo4j.com/download-center/4.解压后配置环境变量5.下载安装po......
  • docker安装portainer方法
    docker安装portainer详细步骤portainer是一款容器管理可视化界面,不想在虚拟中使用命令管理容器的小伙伴,可以选择安装portainer对容器进行管理,查看日志、启动、停止容器......
  • Ubuntu 环境下安装 Docker
    目录1.系统要求2.添加镜像源3.安装DockerCE和containerd4.让普通用户使用Docker5.卸载Docker 1|01.系统要求Docker目前只能运行在64位平台上,并且要求内......
  • Golang环境安装
    以Windows为例下载Golang通过访问Golang中文网进行下载安装包https://studygolang.com/dl下载msi后缀的安装包安装Golang双击刚刚下载完毕的安装包然后......
  • Golang入门:Linux上的go语言安装与配置
    Tips:本文以本文撰写时的Go语言最新版本,也就是go.1.19.2版本为例。Linux发行版本使用Ubuntu22.04.1LTS为例来做演示。安装C工具Go的工具链是用C语言编写......
  • CentOs安装docker
    CentOs安装docker目录CentOs安装docker安装docker1、环境准备:linuxcentOS3.10版本及以上2、卸载(可选)3、需要的安装包4、设置镜像的仓库(推荐阿里云)5、安装dockerdock......
  • vue的介绍与安装
    vue的介绍  vue是一款用于构建用户界面的JavaScript框架。它基于标准HTML,CSS和JavaScript构建,并提供了一套声明式、组件化的编程模型,帮助你高效地开发用户界面。无论......