1:节点准备
系统:centos7.5以上,2核4G以上,30G硬盘以上
系统参数配置:
1)关闭swap,free -m; swapoff -a
2)关闭防火墙 systemctl stop firewalld;systemctl status firewalld
3)关闭selinux :vim /etc/selinux/config 修改disable
临时关闭setenforce 0
查看selinxu状态:getenforce
4)在master主机中添加hosts;
vim /etc/hosts
xxxx => k8s-master
xxxx= > k8s-node1
5)将桥接的IPV4流量传递到iptables的链
docker和k8s都是基于iptabls进行网络通信的。不要随便清除docker服务器中的iptables规则
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
systcl --system 生效
6)安装ntp,同步时间
yum -y install ntp
ntpdate time.windows.com
kubeadm 是容器化组件部署,kubelet没有被容器化,所有管理kubelet的时候,只能用systemctl来管理
二进制是 守护进程部署
2.安装Docker/Kubeadm/kubelet/kubectl[所有节点]
2.1 安装docker
yum -y install docker
systemctl enable docker
systemctl start docker
2.2 配置国内镜像加速站
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://jwrmyfx1.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
2.3 配置k8s国内阿里云yum源
cat > /etc/yum.repos.d/k8s.repo << EOF
[kubernetes]
name=kubernetes
enabled=1
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
EOF
2.4安装
yum -y install kubeadm kukbectl kukbelet
直接安装最新版本,当然,可以指定版本
2.5 手动启动kubulet
systemctl start kubelet
systemctl enable kubelet
3:安装kubenets master节点
3.1 执行kubeadm init命令
kubeadm init \
--apiserver-advertise-address=10.57.98.169 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.23.5 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16 \
--ianore-preflight-errors=all
或者适应命令引用,如果已经编辑好 kubeadm.conf
Kubeadm init --config kubeadm.conf --ignore--preflight-errors=all
3.2 kubeadm init 工作流程:
1、安装环境检查,例如swapoff有没有关、机器配置符合不符合, kubelet service服务是否开机启动等等
2、下载镜像kubeadm config images pull;会拉取镜像,可以提前进行此操作
3、生成证书,保存路径/etc/kubernetes/pki (k8s,etcd)
4. [kubeconfig]生成kubeconfig文件,
5、[kubelet-start]生成kubelet配置文件并启动,"/var/lib/kubelet/config.yaml"
6、[control-plane]启动master节点组件;"kube-apiserver","kube-controller-manager","kube-scheduler"
7、将一些配置文件存储到configmap中,用于其他节点初始拉取
8、[mark-control-plane]给master节点打污点,不让pod在上面运行
9. [bootstrap-token]自动为kubelet须发证书
20, [addons]安装插件CoreDNS;kube-proxy
最后拷贝kubectl工具用的kubeconfig到默认路径下。
[root@k8s-master ~]# mkdir -p $HOME/.kube
[root@k8s-master ~]# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
[root@k8s-master ~]# sudo chown $(id -u):$(id -g) $HOME/.kube/config
输出其它节点加入master命令:
kubeadm join 10.57.98.169:6443 --token 60npxf.33hynnget6h5b8ej \
--discovery-token-ca-cert-hash sha256:69250e213fb500b7ee8a260c5571500c857df05b5a31bac59c6803e3586ee730
3.3 添加node节点
3.3.1 node节点加入命令
kubeadm join 10.57.98.169:6443 --token 60npxf.33hynnget6h5b8ej \
--discovery-token-ca-cert-hash sha256:69250e213fb500b7ee8a260c5571500c857df05b5a31bac59c6803e3586ee730
提示没有查看 k8s-node节点,但是不影响,
用kubectl get nodes 查看节点是否识别到
3.4 查看报错
--journalctl -u kubelet > error.txt
Apr 05 10:50:20 k8s-node kubelet[11985]: I0405 10:50:20.403382 11985 cni.go:240] "Unable to update cni config" err="no networks found in /etc/cni/net.d"
Apr 05 10:50:20 k8s-node kubelet[11985]: E0405 10:50:20.893490 11985 kubelet.go:2347] "Container runtime network not ready" networkReady="NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized"
4.部署容器网络 CNI
4.1 下载文件
wget https://docs.projectcalico.org/manifests/calico.yaml --no-check-certificate
4.2 编辑文件
修改配置文件里面的参数为
kubeadm init \
--apiserver-advertise-address=10.57.98.169 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.23.5 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16 \
--ianore-preflight-errors=all
1:name: CALICO_IPV4POOL_CIDR
4.3 引用这个文件
kubectl apply -f calico.yaml
kubectl get pods -n kube-system
4.4 查看node节点的状态
kubectl get pods -n kube-system
kubectl get node
5.测试kubernetes集群
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/127945.html
摘要:月日日,灵雀云企业定制培训在深圳招商银行总部圆满结束。灵雀云培训中强调理论实践工具落地相结合。灵雀云是官方认证培训合作伙伴服务提供商。不久之后,灵雀云还将推出微服务的培训课程。 showImg(https://segmentfault.com/img/bVblpFV?w=600&h=334); 12月13日-14日,灵雀云企业定制k8s培训在深圳招商银行总部圆满结束。 来自招行总部信息...
摘要:最近被业务折腾的死去活来,实在没时间发帖,花了好多个晚上才写好这篇帖子,后续会加油的利用技术栈打造个人私有云系列文章目录利用技术栈打造个人私有云连载之初章利用技术栈打造个人私有云连载之集群搭建利用技术栈打造个人私有云连载之环境理解和练手利用 showImg(https://segmentfault.com/img/remote/1460000013077799); 最近被业务折腾的死...
摘要:最近被业务折腾的死去活来,实在没时间发帖,花了好多个晚上才写好这篇帖子,后续会加油的利用技术栈打造个人私有云系列文章目录利用技术栈打造个人私有云连载之初章利用技术栈打造个人私有云连载之集群搭建利用技术栈打造个人私有云连载之环境理解和练手利用 showImg(https://segmentfault.com/img/remote/1460000013077799); 最近被业务折腾的死...
摘要:将用户命令通过接口传送给,从而进行资源的增删改等操作。要使用编写应用程序,当下大多语言都可以很方便地去实现请求来操作的接口从而控制和查询资源,但本文主要是利用已有的客户端来更加优雅地实现的资源控制。 showImg(https://segmentfault.com/img/remote/1460000013517345); 【利用K8S技术栈打造个人私有云系列文章目录】 利用K8S...
阅读 113·2024-11-07 18:25
阅读 130163·2024-02-01 10:43
阅读 789·2024-01-31 14:58
阅读 761·2024-01-31 14:54
阅读 82581·2024-01-29 17:11
阅读 2886·2024-01-25 14:55
阅读 1928·2023-06-02 13:36
阅读 2870·2023-05-23 10:26