本地部署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