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