当前位置: 首页 > news >正文

k8s环境配置

9.11

安装k8s

1、创建主机,设置ip,hostname,firewalld selinux, Networkmanage

2、设置主机之间的免密

编号主机名称IP
1k8s-master192.168.1.14
2k8s-node1192.168.1.12
3k8s-node2192.168.1.13

3、yum源配置

四个源镜像

3、清空及建立缓存

4、主机映射

vim /etc/hosts

...

192.168.1.12 k8s-master

192.168.1.13 k8s-node1

192.168.1.14 k8s-node2

5、安装工具,三台机器

# yum install wget jq psmisc vim net-tools telnet yum-utils device-mapper-persistent-data lvm2 git tree -y

6、关闭防火墙,Networkmanager selinux swap分区,都

7、同步时间

yum -y install ntpdate
ntpdate time2.aliyun.com
crontab -e
*/5**** /usr/sbin/ntpdate time2.aliyun.com

8、配置limit

vim /etc/security/limits/conf
...
* soft nofile 65536
* hard nofile 131072
* soft nproc 65535
* hard nproc 655350
* soft memlock unlimited
* hard memlock unlimited

9、载yaml,从gitee上下载,配置的pod的yaml文件和docker-comppose.yaml文件相似,等k8s架构搭建起来后,

# cd /root/ ; git clone https://gitee.com/dukuan/k8s-ha-install.git

10、配置ipvs模块,三个豆

# yum install ipvsadm ipset sysstat conntrack libseccomp -y
#vim /etc/modules-load.d/....
复制粘贴
。。。
​

11、重启

reboot

12、卸载podman ,安装 docker-ce docker-ce-cli containerd

yum -y remove podman
yum -y install docker-ce docker-ce-cli container-io

13、配置containerd

#cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf
> overlay
> br_netfilter
> EOF
overlay
br_netfilter
您在 /var/spool/mail/root 中有新邮件
# modprobe overlay
# modprobe br_netfilter
​
​

14、containerd配置文件

# vim /etc/containerd/config.toml 
63行和127行

15、启动服务,查看状态

# systemctl enable --now containerd.service
# systemctl status containerd.service

16、安装kubernet组件

# yum -y install kubeadm-1.28* kubectl-1.28* kubelet-1.28*
查看安装完整
#yum list installed | grep kube
# systemctl daemon-reload
# systemctl enable --now kubelet

若kubelet启动异常,先检查swap是否已经取消虚拟分区,查看/var/lib/message,如果是没有/var/lib/kubelet/config.yaml文件,可能需要重新安装,

yum -y remove kubelet-1.28*
yum -y install kubelet-1.28*
systemctl daemob-reload
systemctl enable --now kubelet
yum -y install kubeadm-1.28*
#kubelet端口是10248 10250 10255三个端口

接下来主要对master主机

17、集群初始化

--拉取镜像
# vim kubeadm-config.yaml
apiVersion: kubeadm.k8s.io/v1beta3      # 指定Kubernetes配置文件的版本,使用的是kubeadm API的v1beta3版本
bootstrapTokens:        # 定义bootstrap tokens的信息。这些tokens用于在Kubernetes集群初始化过程中进行身份验证
- groups:       # 定义了与此token关联的组- system:bootstrappers:kubeadm:default-node-token token: 7t2weq.bjbawausm0jaxury        # bootstrap token的值ttl: 24h0m0s      # token的生存时间,这里设置为24小时usages:           # 定义token的用途- signing     # 数字签名- authentication      # 身份验证
kind: InitConfiguration     # 指定配置对象的类型,InitConfiguration:表示这是一个初始化配置
localAPIEndpoint:       # 定义本地API端点的地址和端口advertiseAddress: 192.168.1.14bindPort: 6443
nodeRegistration:       # 定义节点注册时的配置criSocket: unix:///var/run/containerd/containerd.sock     # 容器运行时(CRI)的套接字路径name: k8s-master      # 节点的名称taints:       # 标记- effect: NoSchedule      # 免调度节点key: node-role.kubernetes.io/control-plane      # 该节点为控制节点
---
apiServer:      # 定义了API服务器的配置certSANs:     # 为API服务器指定了附加的证书主体名称(SAN),指定IP即可- 192.168.15.11timeoutForControlPlane: 4m0s      # 控制平面的超时时间,这里设置为4分钟
apiVersion: kubeadm.k8s.io/v1beta3      # 指定API Server版本
certificatesDir: /etc/kubernetes/pki    # 指定了证书的存储目录
clusterName: kubernetes     # 定义了集群的名称为"kubernetes"
controlPlaneEndpoint: 192.168.1.14:6443     # 定义了控制节点的地址和端口
controllerManager: {}       # 控制器管理器的配置,为空表示使用默认配置
etcd:       # 定义了etcd的配置local:        # 本地etcd实例dataDir: /var/lib/etcd      # 数据目录
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers        # 指定了Kubernetes使用的镜像仓库的地址,阿里云的镜像仓库。
kind: ClusterConfiguration      # 指定了配置对象的类型,ClusterConfiguration:表示这是一个集群配置
kubernetesVersion: v1.28.2      # 指定了kubernetes的版本
networking:     # 定义了kubernetes集群网络设置dnsDomain: cluster.local      # 定义了集群的DNS域为:cluster.localpodSubnet: 172.16.0.0/16      # 定义了Pod的子网serviceSubnet: 10.96.0.0/16   # 定义了服务的子网
scheduler: {}       # 使用默认的调度器行为
您在 /var/spool/mail/root 中有新邮件
​
# kubeadm config migrate --old-config kubeadm-config.yaml --new-config new.yaml
​
--集群初始化
#kubeadm init --config /root/new.yaml  --upload-certs
​
#vim token
kubeadm join 192.168.1.14:6443 --token 7t2weq.bjbawausm0jaxury \--discovery-token-ca-cert-hash sha256:0c3d37890b7bc36002cf53083f2739e1d717ebf10988020ae19b4af9d000db97 
​
保存token
​

初始化不成功的,1、主机配置2核2G40G,20G凑合用2、echo 1 > /proc/net/ipv4/ip_forward3、kubelet无法启动,可能是swap分区没关或者是没有配置文件4、多关注vim /var/log/message

[root@master ~]# export KUBECONFIG=/etc/kubernetes/admin.conf您在 /var/spool/mail/root 中有新邮件[root@master ~]# kubectl get nodesNAME STATUS ROLES AGE VERSIONmaster NotReady control-plane 44m v1.28.2node1 NotReady <none> 76s v1.28.2node2 NotReady <none> 65s v1.28.2

添加不成功,原因

1、kubelet没有stop

2、IP转发没有

3、token重新初始化或者生成token

4、node中的containderd是否正常

18、查看节点以及pod状态

#查看节点 查看在集群中的主机的状态
# kubectl get nodes
NAME     STATUS     ROLES           AGE   VERSION
master   NotReady   control-plane   44m   v1.28.2
node1    NotReady   <none>          76s   v1.28.2
node2    NotReady   <none>          65s   v1.28.2
​
#查看所有的pod的状态
#kubelet get po -A
NAMESPACE     NAME                             READY   STATUS    RESTARTS   AGE
kube-system   coredns-6554b8b87f-5lt5x         0/1     Pending   0          49m
kube-system   coredns-6554b8b87f-dqx6t         0/1     Pending   0          49m
kube-system   etcd-master                      1/1     Running   0          49m
kube-system   kube-apiserver-master            1/1     Running   0          49m
kube-system   kube-controller-manager-master   1/1     Running   0          49m
kube-system   kube-proxy-5rwvt                 1/1     Running   0          49m
kube-system   kube-proxy-5x555                 1/1     Running   0          5m39s
kube-system   kube-proxy-g79tw                 1/1     Running   0          5m28s
kube-system   kube-scheduler-master            1/1     Running   0          49m
​
#查看pod完整信息
# kubectl get po -Aowide
NAMESPACE     NAME                             READY   STATUS    RESTARTS   AGE   IP             NODE     NOMINATED NODE   READINESS GATES
kube-system   coredns-6554b8b87f-5lt5x         0/1     Pending   0          56m   <none>         <none>   <none>           <none>
kube-system   coredns-6554b8b87f-dqx6t         0/1     Pending   0          56m   <none>         <none>   <none>           <none>
kube-system   etcd-master                      1/1     Running   0          57m   192.168.1.14   master   <none>           <none>
kube-system   kube-apiserver-master            1/1     Running   0          57m   192.168.1.14   master   <none>           <none>
kube-system   kube-controller-manager-master   1/1     Running   0          57m   192.168.1.14   master   <none>           <none>
kube-system   kube-proxy-5rwvt                 1/1     Running   0          56m   192.168.1.14   master   <none>           <none>
kube-system   kube-proxy-5x555                 1/1     Running   0          13m   192.168.1.12   node1    <none>           <none>
kube-system   kube-proxy-g79tw                 1/1     Running   0          13m   192.168.1.13   node2    <none>           <none>
kube-system   kube-scheduler-master            1/1     Running   0          57m   192.168.1.14   master   <none>           <none>
​

status:

状态名称中文说明
pending挂起当前pod没有工作
running运行中当前pod正常工作
containercreating正在创建容器正在创建容器

19、部署calico


http://www.mrgr.cn/news/24581.html

相关文章:

  • Leetcode 701-二叉搜索树中的插入操作
  • 287. 寻找重复数(stl法)
  • 即插即用篇 | YOLOv8 引入并行的分块注意力 | 北京大学 2024 | 微小目标
  • QT设置闹钟超时播报
  • 1.简述语言建模LM、统计语言建模SLM、神经语言模型NLM、预训练语言模型PLM、大语言模型LLM
  • 搜索功能技术方案
  • Linux——高流量 高并发(访问场景) 高可用(架构要求)
  • 源码编译 openblas for windows on arm
  • 串口接收不到数据之电阻虚焊bug分析思路
  • 微深节能 天车无人抓渣系统 格雷母线定位系统
  • C语言学习
  • React项目的开发前准备 以及 JSX 的基本使用
  • 非关系型数据库Redis
  • rocky8安装docker步骤
  • HCIE证书泛滥,曾经的“顶流”现在怎么了?
  • 【CAPL实战】解决调用LIN函数不生效问题
  • java实现策略模式
  • 路径规划 C++(Ⅱ)
  • 记录word转xml文件踩坑
  • 测测万用表?合宙功耗分析仪Air9000Air9000P齐出动