Kubeadm安装 kubernets
1.23.0所需镜像安装地址:redcatdocker's Profile | Docker Hub,下载后打tag
安装 kubeadm
1准备工作
禁用交换分区:/etc/fstab注释swap行,并swapoff -a
2确保mac和product_uuid的唯一性:
3允许iptables检查桥接流量
cat < br_netfilter EOF modprobe br_netfilter 控制节点 协议 方向 端口范围 作用 使用者 TCP 入站 6443 Kubernetes API 服务器 所有组件 TCP 入站 2379-2380 etcd 服务器客户端 API kube-apiserver, etcd TCP 入站 10250 Kubelet API kubelet 自身、控制平面组件 TCP 入站 10251 kube-scheduler kube-scheduler 自身 TCP 入站 10252 kube-controller-manager kube-controller-manager 自身 工作节点 协议 方向 端口范围 作用 使用者 TCP 入站 10250 Kubelet API kubelet 自身、控制平面组件 TCP 入站 30000-32767 NodePort 服务? 所有组件 Docker自行安装 运行时 域套接字 Docker /var/run/dockershim.sock containerd /run/containerd/containerd.sock CRI-O /var/run/crio/crio.sock 每个节点上都需要安装 这三个包 配置国内下载源 [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg exclude=kubelet kubeadm kubectl 关闭selinux: 7使用 systemd 来管理容器的 cgroup systemctl enable docker systemctl daemon-reload systemctl restart docker 1、初始化master kubeadm init --apiserver-advertise-address=master_ip --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.23.0 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16 2、在node 上执行初始化后结果的最后一行 kubeadm join 3、添加网络插件 curl https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml -o kube-flannel.yml kubectl apply -f kube-flannel.yml 执行以下命令状态都为准备即安装完成。 kubectl get node NAME STATUS ROLES AGE VERSION kmaster Ready control-plane,master 176m v1.23.0 knode Ready 4、dashboard安装 curl https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml -o recommended.yaml kubectl apply -f recommended.yaml kubectl proxy & 本地终端进行ssh转发 ssh -L localhost:8001:localhost:8001 -NT root@10.10.*.* 创建登录用户 kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard kubectl create clusterrolebinding dashboard-admin-rb --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin kubectl get secrets -n kubernetes-dashboard | grep dashboard-admin kubectl describe secrets dashboard-admin-token-**** -n kubernetes-dashboard 本地浏览器打开并使用上面获得的token登录 Kubernetes Dashboardcat
<
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
4检查所需端口
5安装 runtime
6安装 kubeadm、kubelet 和 kubectl
setenforce
0
sed -i
's/^SELINUX=enforcing$/SELINUX=permissive/'
/etc/selinux/config
yum install -y kubelet kubeadm kubectl --disableexcludes
=
kubernetes
sudo mkdir /etc/docker
cat
<
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
使用 kubeadm 创建集群