资讯专栏INFORMATION COLUMN

CKA-搭建k8s

社区管理员 / 443人阅读

1:节点准备

系统:centos7.5以上,2核4G以上,30G硬盘以上

image.png

系统参数配置:


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


image.png

image.png


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


image.png


 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

 

image.png

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

image.png


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


image.png


4.3  引用这个文件

 kubectl apply  -f  calico.yaml

kubectl get pods -n kube-system

image.png


 4.4 查看node节点的状态


kubectl get pods -n kube-system

kubectl get  node


image.png

5.测试kubernetes集群

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/127945.html

相关文章

  • CKA考试心得

    摘要:上周末参加了认证考试,今天出了结果,考试分数不是很高,分,算是考过了,结合这次备考和考试梳理下考试心得,供考的小伙伴参考。报名后需要在一年内参加考试。考试之前可以将一些常用的官方文档进行收藏。 上周末参加了CKA认证考试,今天出了结果,考试分数不是很高,79分,算是考过了,结合这次CKA备考和考试梳理下考试心得...

    lufficc 评论0 收藏0
  • 灵雀云K8s培训走进『招商银行』总部

    摘要:月日日,灵雀云企业定制培训在深圳招商银行总部圆满结束。灵雀云培训中强调理论实践工具落地相结合。灵雀云是官方认证培训合作伙伴服务提供商。不久之后,灵雀云还将推出微服务的培训课程。 showImg(https://segmentfault.com/img/bVblpFV?w=600&h=334); 12月13日-14日,灵雀云企业定制k8s培训在深圳招商银行总部圆满结束。 来自招行总部信息...

    xcc3641 评论0 收藏0
  • 利用K8S技术栈打造个人私有云(连载之:K8S集群搭建

    摘要:最近被业务折腾的死去活来,实在没时间发帖,花了好多个晚上才写好这篇帖子,后续会加油的利用技术栈打造个人私有云系列文章目录利用技术栈打造个人私有云连载之初章利用技术栈打造个人私有云连载之集群搭建利用技术栈打造个人私有云连载之环境理解和练手利用 showImg(https://segmentfault.com/img/remote/1460000013077799); 最近被业务折腾的死...

    Ryan_Li 评论0 收藏0
  • 利用K8S技术栈打造个人私有云(连载之:K8S集群搭建

    摘要:最近被业务折腾的死去活来,实在没时间发帖,花了好多个晚上才写好这篇帖子,后续会加油的利用技术栈打造个人私有云系列文章目录利用技术栈打造个人私有云连载之初章利用技术栈打造个人私有云连载之集群搭建利用技术栈打造个人私有云连载之环境理解和练手利用 showImg(https://segmentfault.com/img/remote/1460000013077799); 最近被业务折腾的死...

    邱勇 评论0 收藏0
  • 利用K8S技术栈打造个人私有云(连载之:K8S资源控制)

    摘要:将用户命令通过接口传送给,从而进行资源的增删改等操作。要使用编写应用程序,当下大多语言都可以很方便地去实现请求来操作的接口从而控制和查询资源,但本文主要是利用已有的客户端来更加优雅地实现的资源控制。 showImg(https://segmentfault.com/img/remote/1460000013517345); 【利用K8S技术栈打造个人私有云系列文章目录】 利用K8S...

    Reducto 评论0 收藏0

发表评论

0条评论

社区管理员

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<