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.14
  bindPort: 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.11
  timeoutForControlPlane: 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.local
  podSubnet: 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值