deepin安装单节点k8s

deepin安装单节点k8s

环境

  • 本次安装使用, CPU: AMD R5 3550H 四核, 内存: 16G, 系统: Deepin15.11
  • 建议至少cpu: 2核 ,内存: 2G
  1. 安装并运行docker
  2. 关闭swap
  3. 把hostname的解析添加到hosts中
  4. 添加k8s源
cat </etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
  1. 导入k8s密钥并更新软件源,安装 kubeadm, kubelet 和 kubectl
curl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
sudo apt-get update
sudo apt-get install kubelet kubeadm kubectl
  1. 设置阿里云镜像加速
# 登入阿里云控制台,容器镜像服务->镜像加速器
cat </etc/docker/daemon.json
{
    "registry-mirrors": ["https://{阿里云分配的地址}.mirror.aliyuncs.com"]
}
EOF
  1. 拉取镜像
# 从阿里云拉取镜像并转换tag
for  i  in  `kubeadm config images list`;  do
    imageName=${i#k8s.gcr.io/}
    docker pull registry.aliyuncs.com/google_containers/$imageName
    docker tag registry.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
    docker rmi registry.aliyuncs.com/google_containers/$imageName
done;
  1. kubeadm初始化
kubeadm init --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=NumCPU 
# --ignore-preflight-errors=NumCPU 忽略cpu错误,如果cpu核心数足够,可以不加.
# 必须要带上--pod-network-cidr=10.244.0.0/16,不然设置网络的时候会报错

# 如果初始化出错或者想重新初始化,可以使用如下命令
kubeadm reset

# 出现 Your Kubernetes master has initialized successfully!,安装成功
# 安装成功后执行
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

  1. 安装网络插件
kubectl apply -f https://github.com/coreos/flannel/raw/master/Documentation/kube-flannel.yml
  1. 安装Ingress
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/cloud-generic.yaml

#加上hostNetwork的选项,配置hostNetwork: true是一种直接定义Pod网络的方式。定义后,Ingress-controller的IP就与宿主机IP一样, 位置如下:
apiVersion: apps/v1
kind: Deployment
spec:
  template:
    spec:
      hostNetwork: true #在此处添加
  1. 设置mater节点为可调度,因为默认情况下K8s的master节点是不能运行Pod
kubectl taint nodes --all node-role.kubernetes.io/master-

你可能感兴趣的:(docker&k8s,Linux)