做网站买什么笔记本好,电子工程建设信息网站,wordpress费用,网站图片管理系统原生云K8S解密#xff5c;K8S集群安装部署#xff5c;K8S网络插件 K8SK8S集群架构图解 K8S部署仓库初始化kube-master安装计算节点的安装token管理 配置flannel网络#xff08;master主机操作#xff09; K8S 有大量夸主机的容器需要管理#xff0c;快速部署应用#xff… 原生云K8S解密K8S集群安装部署K8S网络插件 K8SK8S集群架构图解 K8S部署仓库初始化kube-master安装计算节点的安装token管理 配置flannel网络master主机操作 K8S 有大量夸主机的容器需要管理快速部署应用快速扩展应用无缝对接新的应用功能节省资源优化硬件资源的使用。
K8S集群架构图解
核心角色 master 管理节点 node计算节点 image镜像仓库
K8S部署
仓库初始化
云主机 安装仓库服务
[rootregistry ~]# yum makecache # 更新缓存
[rootregistry ~]# yum install -y docker-distrubution
[rootregistry ~]# systemctl enable --now docker-distribution使用脚本初始化仓库
# 拷贝云盘myos目录到仓库服务器
[rootregistry ~]# cd myos
[rootregistry ~]# chmod 755 init-img.sh
[rootregistry ~]# ./init-img.sh
[rootregistry ~]# curl http://192.168.1.100:5000/v2/myos/tags/list
{name:myos,tags:[nginx,php-fpm,v1804,httpd]}kube-master安装 镜像导入私有仓库
# 把云盘 kubernetes/v1.17.6/base-images中的镜像拷贝到master
[rootmaster ~]# cd base-images/
[rootmaster base-images]# for i in *.tar.gz;do docker load -i $(i);done
[rootmaster base-images]# docker images
[rootmaster base-images]# docker images | awk $2!TAG{print $1,$2}|while read _f _v:do
docker tar ${_f}:${_v} 192.168.1.100:5000/${_f##*/}:${_v};
docker push 192.168.1.100:5000/${_f##*/}:${_v};
docker rmi ${_f}:${_v};
done
# 查看验证
[rootmaster base-images]# curl http://192.168.1.100:5000/v2/_catalogtab键设置
[rootmaster ~]# kubectl completion bash /etc/bash_completion.d/kubectl
[rootmaster ~]# kubeadm completion bash /etc/bash_completion.d/kubeadm
[rootmaster ~]# exit # 退出系统安装IPVS代理软件包
[rootmaster ~]# yum install -y ipvsadm ipset # 做成LVS集群配置master主机环境 首先要开启网桥设备 可以将各容器之间进行通信
[rootmaster ~]# vim /etc/hosts
192.168.1.21 master
192.168.1.31 node-0001
192.168.1.32 node-0002
192.168.1.33 node-0003
192.168.1.100 registry
[rootmaster ~]# vim /etc/sysctl.d/k8s.conf # 内核模块配置参数
net.bridge.bridge-nf-call-ip6tables1
net.bridge.bridge-nf-call-iptables1
net.ipv4.ip_forward1
[rootmaster ~]# modprobe br_netfilter
[rootmaster ~]# sysctl --system使用kubeadm部署 应答文件在云盘 kubernetes/v1.17.6/config目录
[rootmaster ~]# mkdir init ;cd init
# 拷贝kubeadm-init.yaml 到master云主机 init目录下
[rootmaster init]# kubeadm init --configkubeadm-init.yaml | tee master-init.log # tee生成日志文件
# 按照提示执行命令
[rootmaster init]# mkdir -p $HOME/.kube
[rootmaster init]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
[rootmaster init]# sudo chown $(id -u):$(id -g) $HOME/.kube/config验证结果
[rootmaster ~]# kubectl version
[rootmaster ~]# kubectl get componentstatuseskubeadm 命令 config: 配置管理命令 help: 查看帮助 init: 初始命令 join: node加入集群的命令 reset: 还原状态命令 token: token凭证管理命令 version:查看版本
计算节点的安装 token管理
如何获取token管理token使用kubeadm token 指令
# 列出token
kubeadm token list
# 删除token
kubeadm token delete token
# 创建token
kubeadm token create --ttl0 --print-join-command # 无限期 打印安装命令
# 获取token_hash
# 1、查看安装日志 2、在创建token时候显示 3、使用 openssl 计算得到
[rootmaster ~]# openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt |openssl rsa -pubin -outform der |openssl dgst -sha256 -hex[rootecs-proxy 5]# cp -a kubernetes/nodejoin /root/
[rootecs-proxy 5]# cd ~root/nodejoin/
[rootecs-proxy nodejoin]# vim nodeinit.yaml
... ...vars:master: 192.168.1.50:6443token: 这里改成你自己的tokentoken_hash: sha256:这里改成你自己的token ca hash
... ...
[rootecs-proxy node-install]# ansible-playbook nodeinit.yaml验证安装
[rootmaster ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master NotReady master 130m v1.22.5
node-0001 NotReady none 2m14s v1.22.5
node-0002 NotReady none 2m15s v1.22.5
node-0003 NotReady none 2m9s v1.22.5配置flannel网络master主机操作 上传镜像到私有仓库
# 拷贝 kubernetes/plugins 目录到 master 云主机上
[rootecs-proxy ~]# rsync -av kubernetes/plugins 192.168.1.50:./
#---------------------------------------------------------------------
[rootmaster ~]# cd plugins/flannel
[rootmaster flannel]# docker load -i flannel.tar.xz
[rootmaster flannel]# docker images|while read i t _;do[[ ${t} TAG ]] continue[[ ${i} ~ ^registry:5000/. ]] continuedocker tag ${i}:${t} registry:5000/plugins/${i##*/}:${t}docker push registry:5000/plugins/${i##*/}:${t}docker rmi ${i}:${t} registry:5000/plugins/${i##*/}:${t}
done修改配置文件并安装
[rootmaster ~]# vim flannel/kube-flannel.yaml
128: Network: 10.244.0.0/16,
# 该地址必须与案例3初始化文件 kubeadm-init.yaml 中的 podSubnet 一致
172: image: 192.168.1.100:5000/flannel:v0.12.0-amd64 # 私有仓库
186: image: 192.168.1.100:5000/flannel:v0.12.0-amd64
227行到结尾的所有内容全部删除验证效果
# 验证节点工作状态
[rootmaster flannel]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready master 26h v1.22.5
node-0001 Ready none 151m v1.22.5
node-0002 Ready none 152m v1.22.5
node-0003 Ready none 153m v1.22.5
# 验证容器工作状态
[rootmaster ~]# kubectl -n kube-system get pods
NAME READY STATUS RESTARTS AGE
coredns-54b6487f4d-t7f9m 1/1 Running 0 64m
coredns-54b6487f4d-v2zbg 1/1 Running 0 64m
etcd-master 1/1 Running 0 64m
kube-apiserver-master 1/1 Running 0 64m
kube-controller-manager-master 1/1 Running 0 64m
kube-flannel-ds-8x4hq 1/1 Running 0 55m
kube-flannel-ds-c5rkv 1/1 Running 0 55m
kube-flannel-ds-sk2gj 1/1 Running 0 55m
kube-flannel-ds-v26sx 1/1 Running 0 55m
kube-proxy-6gprw 1/1 Running 0 58m
kube-proxy-6tfn8 1/1 Running 0 58m
kube-proxy-9t5ln 1/1 Running 0 58m
kube-proxy-f956k 1/1 Running 0 64m
kube-scheduler-master 1/1 Running 0 64m