安裝docker-ce
systemctl enable docker systemctl start docker
修改cgroup driver 為systemd 預設為cgroups
echo kubelet_kubeadm_extra_args=--cgroup-driver=systemd > /etc/default/kubelet
重啟docker
臨時關閉swap
swapoff -a
配置yum源
cat > /etc/yum.repos.d/kubernetes.repo << eof
[kubernetes]
name=kubernetes
baseurl=
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=
eof
安裝指定版本
yum clean all
yum makecache
yum -y install kubelet-1.18.3 kubectl-1.18.3 kubeadm-1.18.3
由於幾個重要映象google不能直接拉取,所以從docker官方預設映象平台拉取映象並重新打tag的方式來繞過對 k8s.gcr.io 的訪問
docker pull mirrorgcrio/kube-apiserver:v1.18.3
docker pull mirrorgcrio/kube-controller-manager:v1.18.3
docker pull mirrorgcrio/kube-scheduler:v1.18.3
docker pull mirrorgcrio/kube-proxy:v1.18.3
docker pull mirrorgcrio/pause:3.2
docker pull mirrorgcrio/etcd:3.4.3-0
docker pull mirrorgcrio/coredns:1.6.7
docker tag mirrorgcrio/kube-apiserver:v1.18.3 k8s.gcr.io/kube-apiserver:v1.18.3
docker tag mirrorgcrio/kube-controller-manager:v1.18.3 k8s.gcr.io/kube-controller-manager:v1.18.3
docker tag mirrorgcrio/kube-scheduler:v1.18.3 k8s.gcr.io/kube-scheduler:v1.18.3
docker tag mirrorgcrio/kube-proxy:v1.18.3 k8s.gcr.io/kube-proxy:v1.18.3
docker tag mirrorgcrio/pause:3.2 k8s.gcr.io/pause:3.2
docker tag mirrorgcrio/etcd:3.4.3-0 k8s.gcr.io/etcd:3.4.3-0
docker tag mirrorgcrio/coredns:1.6.7 k8s.gcr.io/coredns:1.6.7
docker image rm mirrorgcrio/kube-apiserver:v1.18.3
docker image rm mirrorgcrio/kube-controller-manager:v1.18.3
docker image rm mirrorgcrio/kube-scheduler:v1.18.3
docker image rm mirrorgcrio/kube-proxy:v1.18.3
docker image rm mirrorgcrio/pause:3.2
docker image rm mirrorgcrio/etcd:3.4.3-0
docker image rm mirrorgcrio/coredns:1.6.7
systemctl enable kubelet
這個時候啟動kubectl會出錯 我們直接 kubeadm init --kubernetes-version=v1.18.3 --pod-network-cidr=10.244.0.0/16
cp -i /etc/kubernetes/admin.conf $home/.kube/config
chown $(id -u):$(id -g) $home/.kube/config
kubectl get pods --all-namespaces
預設情況下kubernetes中的master並不能執行使用者的pod. 因此需要刪除 train,允許master執行pod 執行下命令
kubectl taint nodes --all node-role.kubernetes.io/master-
kubectl get pods --all-namespaces
mkdir -p /etc/cni/net.d/
cat mkdir /usr/share/oci-umount/oci-umount.d -p
mkdir /run/flannel/
cat vim /etc/cni/net.d/10-flannel.conflist
systemctl daemon-reload
安裝kuboard
k8s集群單機部署
一 安裝kubelet kubeadm 和kubectl 配置k8s的源 sudo touch etc apt sources.list.d kubernetes.list sudo echo deb kubernetes xenial main etc apt sources.list.d kub...
本地部署K8s單機版
docker 關防火牆 sudo ufw disable 關閉系統 swap 用vi修改 etc fstab檔案,在swap分割槽這行前加 禁用掉,儲存退出 新增 k8s 安裝金鑰 先執行apt get update apt get install y apt transport https 然後執...
K8s部署prometheus監控K8s細節
prometheus 一些配置檔案可以再github上找到。部署 root kube prometheus manifests 目錄下所有檔案 部署 root kube prometheus manifests setup 目錄下所有檔案 要注意的是自己要建立乙個工作空間 如果報錯執行下面語句 部署...