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 <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF
modprobe br_netfilter
cat<<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
4检查所需端口
控制节点
|
协议 |
方向 |
端口范围 |
作用 |
使用者 |
|
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 服务† |
所有组件 |
5安装 runtime
Docker自行安装
|
运行时 |
域套接字 |
|
Docker |
/var/run/dockershim.sock |
|
containerd |
/run/containerd/containerd.sock |
|
CRI-O |
/var/run/crio/crio.sock |
6安装 kubeadm、kubelet 和 kubectl
每个节点上都需要安装 这三个包
配置国内下载源
[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:
setenforce0
sed -i's/^SELINUX=enforcing$/SELINUX=permissive/'/etc/selinux/config
yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
7使用 systemd 来管理容器的 cgroup
sudo mkdir /etc/docker
cat<<EOF | sudo tee /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
systemctl enable docker
systemctl daemon-reload
systemctl restart docker
使用 kubeadm 创建集群
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、添加网络插件
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 <none> 173m v1.23.0
4、dashboard安装
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登录

浙公网安备 33010602011771号