使用kubeadm部署kubernetes

tech2025-08-12  19

1.config core

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sudo sysctl --system

2.deploy docker

yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo \   https://download.docker.com/linux/centos/docker-ce.repo    yum update -y && yum install -y \   containerd.io-1.2.13 \   docker-ce-19.03.11 \   docker-ce-cli-19.03.11

 

mkdir /etc/docker cat > /etc/docker/daemon.json <<EOF {   "exec-opts": ["native.cgroupdriver=systemd"],   "log-driver": "json-file",   "log-opts": {     "max-size": "100m"   },   "storage-driver": "overlay2",   "storage-opts": [     "overlay2.override_kernel_check=true"   ],   "insecure-registries": ["registry.docker-cn.com"] } EOF mkdir -p /etc/systemd/system/docker.service.d systemctl daemon-reload systemctl restart docker systemctl enable docker

3.deploy kubelet kubeadm等

#下面步骤master和node都操作

cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-\$basearch enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg exclude=kubelet kubeadm kubectl EOF # Set SELinux in permissive mode (effectively disabling it) setenforce 0 sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes systemctl daemon-reload systemctl restart kubelet

4.初始化master

这里的版本号最好和kubelet版本号一致

kubeadm init --kubernetes-version 1.18.6 --pod-network-cidr 192.168.0.0/24

这条命令执行完成后,注意记住加入node加入集群的命令

5.部署flannel网络

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

6.加入node

执行第4步最后出现的命令,node加入集群,如果token已经失效,执行kubeadm token create重新生成

7.部署dashboard

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml cat create-user.yaml --- apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kubernetes-dashboard --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: admin-user roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: admin-user namespace: kubernetes-dashboard kubectl create -f create-user.yaml

获取登录页面的token命令如下

kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}') kubectl proxy #执行完上面命令后访问下面链接使用前面获取的token可以登录 #http://127.0.0.1:8001

参考链接:https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

最新回复(0)