1. 安装准备

1.1 安装依赖

yum -y update
yum install -y conntrack ipvsadm ipset jq sysstat curl iptables libseccomp

1.2 安装docker

sudo yum install -y yum-utils \
    device-mapper-persistent-data \
    lvm2

设置docker仓库

 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

设置阿里云镜像加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["替换成自己的实际地址"]
}
EOF

镜像加速器可以免费申请,登录阿里云即可申请、

刷新配置

sudo systemctl daemon-reload

安装docker

 yum install -y docker-ce docker-ce-cli containerd.io

可以指定docker版本,如:yum install -y docker-ce-18.09.0 docker-ce-cli-18.09.0 containerd.io

1.3 系统基础设置

# (1)关闭防火墙
systemctl stop firewalld && systemctl disable firewalld

# (2)关闭selinux
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

# (3)关闭swap
swapoff -a
sed -i '/swap/s/^\(.*\)$/#\1/g' /etc/fstab

# (4)配置iptables的ACCEPT规则
iptables -F && iptables -X && iptables -F -t nat && iptables -X -t nat && iptables -P FORWARD ACCEPT

# (5)设置系统参数
cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

sysctl --system

2. 安装kubeadm kubelet kubectl

2.1 配置yum源

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
       http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

2.2 安装kubeadm&kubelet&kubectl

yum install -y kubeadm kubelet kubectl

2.3 统一k8s和docker的cgroup

  • 注意,推荐更改docker的cgroup为systemd,若修改k8s的,可能会出现错误
# docker
vi /etc/docker/daemon.json
    "exec-opts": ["native.cgroupdriver=systemd"],
systemctl restart docker

2.4 启动并设置开机自启动kubelet

systemctl enable kubelet && systemctl start kubelet
  • 此处kubelet会报错,无法正常启动,这是因为还没初始化集群,可以暂时不管

2.5 kubeadm init初始化master

 kubeadm init --image-repository registry.aliyuncs.com/google_containers \
--pod-network-cidr=192.168.0.0/16

若要采用CNI网络插件,pod-network-cidr要配置为192.168.0.0/16

2.6 查看Node状态

kubectl get node

若命令报错:The connection to the server localhost:8080 was refused - did you specify the right host or port?
则为环境变量配置问题,输入以下命令即可:

echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> /etc/profile

此时若没有安装CNI插件,则Node节点状态应该为NotReady

3. 安装CNI网络插件

执行以下命令会安装CNI插件

kubectl apply -f "https://docs.projectcalico.org/manifests/calico.yaml"

待CNI插件的POD运行状态为Running时,Node状态应该为Ready

4. 安装DashBoard

4.1 安装dashboard

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml

4.2 修改资源

默认情况下,kubernetes-dashboard的service类型为ClusterIP。为了能从外部访问Dashboard,所以开放为NodePort类型

kubectl get services -n kubernetes-dashboard # 获取dashboard服务名

在这里插入图片描述

4.3更改service类型

kubectl edit service kubernetes-dashboard -n kubernetes-dashboard

将spec.type从ClusterIP改为NodePort,保存并退出
在这里插入图片描述在这里插入图片描述即可通过30074访问dashboard

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐