1 服务器
三台linux centos服务器
2 安装docker环境
2.1 更新yum
yum update
2.2 设置yum源
1 | arduino复制代码*Sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo* |
可以查看所有仓库中所有docker版本,并选择特定版本安装:
1 | bash复制代码yum list docker-ce --showduplicates | sort -r |
2.3 安装
1 | 复制代码sudo yum install docker-ce-18.06.0.ce |
2.4 启动、设置开启开机启动
1 | sql复制代码sudo systemctl start docker |
1 | bash复制代码sudo systemctl enable docker |
验证安装是否成功(有client和service两部分表示docker安装启动都成功了):
1 | 复制代码docker version |
3 安装k8s集群
3.1 关闭防火墙
1 | arduino复制代码systemctl stop firewalld |
3.2 关闭selinux
1 | bash复制代码setenforce 0 # 临时关闭 |
1.3.3 关闭swap
1 | bash复制代码swapoff -a # 临时关闭;关闭swap主要是为了性能考虑 |
3.4 添加主机名与IP对应的关系
1 | shell复制代码$ vim /etc/hosts |
添加如下内容:
1 | 复制代码192.168.190.128 k8s-master |
3.5 将桥接的IPV4流量传递到iptables 的链
1 | bash复制代码$ cat > /etc/sysctl.d/k8s.conf << EOF |
1 | css复制代码$ sysctl --system |
3.6 添加阿里云YUM软件源
1 | ini复制代码cat > /etc/yum.repos.d/kubernetes.repo << EOF |
3.7 安装kubeadm,kubelet和kubectl
1 | bash复制代码kubelet # 运行在 Cluster 所有节点上,负责启动 Pod 和容器。 |
在部署kubernetes时,要求master node和worker node上的版本保持一致,否则会出现版本不匹配导致奇怪的问题出现。本文将介绍如何在CentOS系统上,使用yum安装指定版本的Kubernetes。
我们需要安装指定版本的kubernetes。那么如何做呢?在进行yum安装时,可以使用下列的格式来进行安装:
1 | xml复制代码yum install -y kubelet-<version> kubectl-<version> kubeadm-<version> |
输出
1 | makefile复制代码Installed: |
3.8 设置自启动kubelet
此时,还不能启动kubelet,因为此时配置还不能,现在仅仅可以设置开机自启动
1 | bash复制代码systemctl enable kubelet |
3.9 部署Kubernetes Master
3.9.1 初始化kubeadm
1 | ini复制代码kubeadm init \ |
1 | shell复制代码# –image-repository string: 这个用于指定从什么位置来拉取镜像(1.13版本才有的),默认值是k8s.gcr.io,我们将其指定为国内镜像地址:registry.aliyuncs.com/google_containers |
输出:
1 | sql复制代码Then you can join any number of worker nodes by running the following on each as root: |
稍后在其他两台服务器中执行以上命令。
3.9.2 使用kubectl工具
复制如下命令直接执行(master)
1 | bash复制代码mkdir -p $HOME/.kube |
下面就可以直接使用kubectl命令了(master)
3.9.3 安装Pod网络插件(CNI)(master)
1 | ruby复制代码kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml |
或者:
1 | 复制代码kubectl apply -f kube-flannel.yml |
通过命令查看安装服务状态
1 | sql复制代码kubectl get pods -n kube-system |
4 设置NFS存储
4.1 集群所有节点安装nfs客户端
1 | 复制代码yum install -y nfs-utils |
4.2 安装插件
1 | 复制代码kubectl apply -f deploymentnfs.yaml |
1 | yaml复制代码apiVersion: apps/v1 |
1 | 复制代码kubectl apply –f rbacnfs.yaml |
1 | yaml复制代码apiVersion: v1 |
4.3 添加存储类
1 | 复制代码kubectl apply –f classnfs.yaml |
1 | vbnet复制代码apiVersion: storage.k8s.io/v1 |
5 安装ingress
1 | 复制代码kubectl apply -f mandatory-ingress.yaml |
1 | yaml复制代码apiVersion: v1 |
本文转载自: 掘金