1\先去安装docker
systemctl start docker && systemctl enable docker
查看相关docker 版本
2\安装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=1 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF setenforce 0 yum install -y kubelet kubeadm kubectl
安装完毕 先不要着着急去起kubelet
因为你现在肯定起步起来
然后查看依赖:
kubeadm version 看kubeadm 版本依赖
kubeadm config images list --kubernetes-version v1.17.3
拉去镜像:
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.17.3
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.17.3
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.17.3
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.17.3
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.3-0
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.5
修改tag:
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.17.3 k8s.gcr.io/kube-apiserver:v1.17.3
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.17.3 k8s.gcr.io/kube-controller-manager:v1.17.3
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.17.3 k8s.gcr.io/kube-scheduler:v1.17.3
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.17.3 k8s.gcr.io/kube-proxy:v1.17.3
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1 k8s.gcr.io/pause:3.1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.3-0 k8s.gcr.io/etcd:3.4.3-0
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.5 k8s.gcr.io/coredns:1.6.5
执行初始化
kubeadm init --kubernetes-version=v1.17.3 --pod-network-cidr=10.152.0.0/16 --ignore-preflight-errors=NumCPU
要加或略 cpu个数问题
不然执行不下去
[WARNING NumCPU]: the number of available CPUs 1 is less than the required 2
最后你会看到这个

出现这个表示你先已经安装好k8S了,根据提示去创建路径就好了。后面的那个token 就是将别的节点加入到集群的密钥
最后我们看一下kubelet 有没有启动好!

啊里开源镜像站 ,他们让你起kubelet 服务你会发现是起不起来的,因为kubeamd 还没初始化,就会起不了。这是个人心得,如果大佬看了,觉得我说的不对,请大佬告知,我修改一下!!

其实无所谓的,你执行一般也是没有问题,最终还是执行enable
在添加的node的节点的时候呢,会报错cgroupfs 一个错误 具体解决方案:
https://kubernetes.io/docs/setup/production-environment/container-runtimes/
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"
]
}
EOF
mkdir -p /etc/systemd/system/docker.service.d
# Restart Docker
systemctl daemon-reload
systemctl restart docker
modprobe overlay modprobe br_netfilter # Setup required sysctl params, these persist across reboots. cat > /etc/sysctl.d/99-kubernetes-cri.conf <<EOF net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 1 EOF
# Install prerequisites yum-config-manager --add-repo=https://cbs.centos.org/repos/paas7-crio-115-release/x86_64/os/ # Install CRI-O yum install --nogpgcheck -y cri-o
systemctl daemon-reload systemctl start crio
我们在kuberctl get node

node 节点是not ready 这个就是因 cgroupfs引起的。 其实怎么处理已经提示出来了

链接都给出来了,直接一顿猛虎操作。
回头我们在看nodes

我们还可以看 所有namespace 运行状态
kubectl get pods --all-namespaces

原文:https://www.cnblogs.com/caicai920/p/12464119.html