master内存至少4GiB
sudo swapoff -a
sudo vi /etc/fstab把/dev/mapper/centos-swap swap这行注释掉
cat > /etc/sysctl.d/k8s.conf <<EOFnet.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1vm.swappiness=0EOF
sysctl --system
参见网络其他文章
hostnamectl set-hostname xx
cat >> /etc/hosts <<EOF 172.16.225.129 k8s-02172.16.225.130 k8s-03172.16.225.200 k8s-01EOF
# k8s yum源cat > /etc/yum.repos.d/kubernetes.repo <<EOF[kubernetes]name=kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/gpgcheck=0enable=1EOF>>
cd /etc/yum.repos.d
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum clean all
yum repolist
yum install -y docker-ce kubeadm kubelet kubectl
systemctl enable --now docker && systemctl enable --now kubelet
systemctl status kubelet
journalctl -xeu kubelet
安装master,法一:
查询列表
kubeadm config images list
kubeadm config print init-defaults > kubeadm.yaml
cat <<EOF > kubeadm.yamlapiVersion: kubeadm.k8s.io/v1beta2kind: InitConfigurationnodeRegistration: # 去掉master污点 taints: - effect: PreferNoSchedule key: node-role.kubernetes.io/master---apiVersion: kubeadm.k8s.io/v1beta2kind: ClusterConfigurationimageRepository: registry.aliyuncs.com/google_containers # images地址kubernetesVersion: v1.17.0 # versionEOF
kubeadm token create --print-join-command
return a token
kubeadm join 172.17.55.202:6443 --token 4xv6eq.5kygve4g6uy1smat \ --discovery-token-ca-cert-hash sha256:3ab287132d40f511925d0e416a6a0bd1fba47697c447b6c05f421b12029b8766
To start using your cluster, you need to run the following as a regular user:
kubeadm resetiptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -Xrm -rf $HOME/.kube/configsystemctl stop dockersystemctl stop kubeletyum remove kubeletiptables -tnat --flush # iptables 一定要刷新
mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config
系统设置
配置k8s,docker yum源
下载docker kubelet kubeadm
通过tocken加入集群。 注意tocken的有效期为24小时
修改nodePort
kubectl patch svc -n kube-system kubernetes-dashboard -p ‘{"spec":{"type":"NodePort"}}‘
kubectl create serviceaccount dashboard-admin -n kube-system
kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
kubectl describe secret -n kube-system dashboard-admin
查看安装
kubectl get pods -n rook-ceph-systemkubectl get pods -n rook-ceph
# coredns readiness 一直unhealthycoredns dial tcp 10.96.0.1:443: connect: no route to host# 问题iptables混乱导致# 解决办法systemctl stop kubeletsystemctl stop dockeriptables --flushiptables -tnat --flushsystemctl start kubeletsystemctl start dockerkubectl delete pod weave -n kube-system