栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

vmware-16 Pro + ubuntu-20.04.3-live 手把手搭建k8s集群(超详细):第二篇-k8集群安装

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

vmware-16 Pro + ubuntu-20.04.3-live 手把手搭建k8s集群(超详细):第二篇-k8集群安装

姊妹篇:

vmware-16 Pro + ubuntu-20.04.3-live 手把手搭建k8s集群(超详细):第一篇-虚拟机安装及网络配置

小工具说明: xshell 可以使用 查看—>撰写—> 撰写栏、撰写窗口—>可以选择将命令发送到多会话,一起执行

docker 安装【所有节点都需要安装】
官方文档:https://docs.docker.com/engine/install/ubuntu/
也可以使用阿里云安装更快:https://developer.aliyun.com/article/110806

按步骤操作即可,默认安装最新的,也可以指定版本安装,需要注意版本的对应关系

# 指定版本号
sudo apt-get install docker-ce=5:20.10.8~3-0~ubuntu-focal docker-ce-cli=5:20.10.8~3-0~ubuntu-focal containerd.io

#安装完成后验证
sudo docker run hello-world

docker 安装成功的日志及对应的版本号

设置阿里镜像加速器:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
每个人的不一样,详细可以看以上地址的内容

kubernetes 安装 安装前的准备【所有节点都需要安装】 1、关闭swap
#关闭swap
sudo swapoff -a  
#修改/etc/fstab,注释掉swap那行,持久化生效 
sudo vi /etc/fstab    
2、防止待机休眠
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
3、设置rp_filter的值
# 因为Gemfield的K8s集群即将部署的是calico网络插件,而calico需要这个内核参数是0或者1,但是Ubuntu20.04上默认是2,这样就会导致calico插件报下面的错误(这是个fatal级别的error)
sudo vi /etc/sysctl.d/10-network-security.conf
#将下面两个参数的值从2修改为1
#net.ipv4.conf.default.rp_filter=1
#net.ipv4.conf.all.rp_filter=1

# 执行命令使生效
sudo sysctl --system
4、关闭防火墙
ufw disable
5、修改hosts
# 修改hosts,增加节点关系
sudo vi /etc/hosts

# 主节点执行
sudo hostnamectl set-hostname k8s-node-master
# node-0 节点执行
sudo hostnamectl set-hostname k8s-node-0
# node-1 节点执行
sudo hostnamectl set-hostname k8s-node-1

#使用ping 命令检查节点连通性  比如:ping k8s-node-0

hosts文件内容

6、sudo权限,普通用户免sudo执行
sudo groupadd docker
sudo usermod -aG docker zhaowd  # zhaowd 为用户名
sudo systemctl restart docker   # 重启
k8s安装【所有节点都需要安装】
官网:https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/

部署要求:

# 使用阿里镜像初始化
sudo apt update && sudo apt install -y apt-transport-https curl
curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -

# 修改镜像源
echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

#安装 kubelet、kubeadm 和 kubectl;可以指定安装版本,默认最新
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

# 修改docker的cgroup与k8s一致
# 官网说明:https://kubernetes.io/zh/docs/setup/production-environment/container-runtimes/
vi /etc/docker/daemon.json
增加:"exec-opts": ["native.cgroupdriver=systemd"]
# 重启 docker
systemctl restart docker


# 设置阿里镜像
	查看使用的镜像源
kubeadm config images list
	修改镜像源:创建kubeadm.sh脚本,脚本内容如下,注意版本号
kubeadm config images list 命令可以查看已安装的版本号
执行脚本:bash ./kubeadm.sh
-----------------------------------------------
#!/bin/bash

set -e

KUBE_VERSION=v1.22.2
KUBE_PAUSE_VERSION=3.5
ETCD_VERSION=3.5.0-0
CORE_DNS_VERSION=v1.8.4

GCR_URL=k8s.gcr.io
ALIYUN_URL=registry.cn-hangzhou.aliyuncs.com/google_containers

images=(kube-proxy:${KUBE_VERSION}
kube-scheduler:${KUBE_VERSION}
kube-controller-manager:${KUBE_VERSION}
kube-apiserver:${KUBE_VERSION}
pause:${KUBE_PAUSE_VERSION}
etcd:${ETCD_VERSION}
coredns:${CORE_DNS_VERSION})

for imageName in ${images[@]} ; do
  docker pull $ALIYUN_URL/$imageName
  docker tag  $ALIYUN_URL/$imageName $GCR_URL/$imageName
  docker rmi $ALIYUN_URL/$imageName
done
-----------------------------------------------
集群初始化【Master节点执行】
官网:https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/
sudo kubeadm init --image-repository registry.aliyuncs.com/google_containers --pod-network-cidr=192.169.0.0/16

# 扩展
# 可以使用如下命令,切换root用户
sudo -i 
# 可以使用如下命令修改root用户密码
passwd 密码

# 执行如下命令,集群初始化完成
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

# 安装网络插件,参数信息见下面说明
kubectl apply -f https://docs.projectcalico.org/v3.9/manifests/calico.yaml
# 检查是否安装成功
kubectl get pods --all-namespaces -w

# 将从节点加入集群,在从节点执行
kubeadm join 192.168.49.130:6443 --token yu1ak0.2dcecvmpozsy8loh 
    --discovery-token-ca-cert-hash sha256:5c4a69b3bb05b81b675db5559b0e4d7972f1d0a61195f217161522f464c307b0

说明:
	获取token: kubeadm token list  
	discovery-token-ca-cert-hash 参数获取:
	openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | 
   openssl dgst -sha256 -hex | sed 's/^.* //'

# master节点上检查集群信息
kubectl get nodes

# 可以为从节点打标签
kubectl label node k8s-node-1 node-role.kubernetes.io/worker=worker
安装成功

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/297637.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号