單機部署k8s

2021-10-07 13:59:40 字數 2717 閱讀 9352

安裝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 目錄下所有檔案 要注意的是自己要建立乙個工作空間 如果報錯執行下面語句 部署...