本地部署K8s单机版

基础环境

docker

关防火墙

sudo ufw disable

关闭系统 swap

用vi修改/etc/fstab文件,在swap分区这行前加 # 禁用掉,保存退出

K8S 环境

添加 K8s 安装密钥

先执行
apt-get update && apt-get install -y apt-transport-https
然后执行
curl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -

配置 K8S 源

sudo touch /etc/apt/sources.list.d/kubernetes.list
新增源
sudo echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" >> /etc/apt/sources.list.d/kubernetes.list

安装 kubeadm 及 kubelet 等工具

apt-get update
更新完安装
apt install -y kubelet=1.15.4-00 kubectl=1.15.4-00 kubeadm=1.15.4-00 //安装指定的版本

配置kubelet禁用swap

tee /etc/default/kubelet <<-'EOF'
KUBELET_EXTRA_ARGS="--fail-swap-on=false"
EOF

systemctl daemon-reload && systemctl restart kubelet

初始化k8s

kubeadm init 
  --kubernetes-version=v1.15.4 
  --image-repository registry.aliyuncs.com/google_containers 
  --pod-network-cidr=10.24.0.0/16 
  --ignore-preflight-errors=Swap

配置非 root 的操作

mkdir -p $HOME/.kube
sudo  cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo  chown  $(id -u):$(id -g)  $HOME/.kube/config

coredns 问题解决

这个时候可以查看 pod 状态了,K8S 已经启动了支持服务,其中有 coredns 服务可能一直处于 pending 状态,那么我们需要做如下操作
执行
kubectl apply -f https://docs.projectcalico.org/v3.10/manifests/calico.yaml
这样我们会安装 calico 网络插件,其实 flannel 也可以的哈哈。。
这次查看 pod 状态
kubectl get pods --all-namespaces

Master 隔离解除

kubectl taint nodes --all node-role.kubernetes.io/master-

参考
https://www.cnblogs.com/xiaochina/p/11650520.html
https://ld246.com/article/1576828437326

原文地址:https://www.cnblogs.com/KQNLL/p/14443663.html