centos7安装k8s集群

本文详细描述了如何在Linux系统上安装Docker,修改其driver,以及在Kubernetes(k8s)环境中进行必要的配置,包括关闭防火墙、selinux,禁用交换分区,调整内核参数,安装kubeadm、kubelet和kubectl,初始化k8s集群,加入工作节点,以及安装Fannel网络插件。
摘要由CSDN通过智能技术生成
安装前准备:
docker 版本 20.10.17

# 修改driver
vim /etc/docker/daemon.json
#添加以下信息
{
 "exec-opts":["native.cgroupdriver=systemd"]
}

k8s环境准备

   # 关闭防火墙
systemctl disable firewalld
systemctl stop firewalld

# 关闭selinux
# 临时禁用selinux
setenforce 0
# 永久关闭 修改/etc/sysconfig/selinux文件设置
sed -i 's/SELINUX=permissive/SELINUX=disabled/' /etc/sysconfig/selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

# 禁用交换分区
swapoff -a
# 永久禁用,打开/etc/fstab注释掉swap那一行。
sed -i 's/.*swap.*/#&/' /etc/fstab

# 修改内核参数
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

安装kubeadm、kubelet、kubectl

 # 执行配置k8s阿里云源
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

# 安装kubeadm、kubectl、kubelet
yum install -y kubectl-1.22.6 kubeadm-1.22.6 kubelet-1.22.6

# 启动kubelet服务
systemctl enable kubelet && systemctl start kubelet

初始化k8s

kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version=v1.22.5 --pod-network-cidr=10.10.0.0/16 --service-cidr=10.20.0.0/16 --apiserver-advertise-address=192.168.0.201

初始化成功,获得一下命令:

 mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config

Alternatively, if you are the root user, you can run:

  export KUBECONFIG=/etc/kubernetes/admin.conf

You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  https://kubernetes.io/docs/concepts/cluster-administration/addons/

Then you can join any number of worker nodes by running the following on each as root:

kubeadm join 192.168.0.201:6443 --token 19s3o7.xzel3wisb53r6jsc \
        --discovery-token-ca-cert-hash sha256:9adeb711478f04d2521c470d213aef8a53f9ca4021e215f99038832360f02445f495629f3b

执行一下命令:

  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config
  
  export KUBECONFIG=/etc/kubernetes/admin.conf
  

安装fannel网络插件

 wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

打开网络插件kube-flannel.yml文件,修改网络:

   
  net-conf.json: |
    {
      "Network": "10.10.0.0/16",   # 文件找到这一行,将默认的10.244.0.0/16 修改为10.10.0.0/16 
      "Backend": {
        "Type": "vxlan"
      }
    }

执行 kubectl apply -f kube-flannel.yml

重启kubelet

systemctl daemon-reload
systemctl enable kubelet.service
systemctl status kubelet.service

查看控制层所有组件是否正常运行

kubectl get all -A

Master node 参与工作负载

kubectl taint nodes k8s-master node-role.kubernetes.io/master-

添加node节点

1.克隆k8s-node1虚机,作为node节点

2.修改克隆的虚机的ip 和  hostname

修改ip

vim /etc/sysconfig/network-scripts/ifcfg-ens33

IPADDR=xx.xx.xx.202

修改hostname

vim /etc/hostname

k8s-node1

修改hosts

 vim /etc/hosts
 
 xx.xx.xx.201  k8s-master
 xx.xx.xx.202  k8s-node1
 xx.xx.xx.203  k8s-node2

重启虚机

reboot

删除 kubeadm

 kubeadm reset
 
 ifconfig cni0 down && ip link delete cni0
ifconfig flannel.1 down && ip link delete flannel.1
rm -rf /var/lib/cni/
rm -rf /etc/kubernetes
rm -rf /root/.kube/config
rm -rf /var/lib/etcd

加入节点

kubeadm join 192.168.0.201:6443 --token 19s3o7.xzel3wisb53r6jsc \
        --discovery-token-ca-cert-hash sha256:9adesab71478f04d2sa5c470daef8asa53f9ca4021e5f990388360f02445f495629f3b

从k8s-master节点拷贝证书到k8s-node1

scp root@k8s-master:/root/.kube/config  /root/.kube/

验证测试

╰─# kubectl get nodes                  
NAME   STATUS   ROLES                  AGE     VERSION
k8s-master Ready    control-plane,master   94m     v1.22.6
k8s-node1  Ready    <none>                 3m54s   v1.22.6
╭─root@k8s-node1 ~  
╰─#

  • 23
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值