| IP | 角色 | 安装软件 |
|---|---|---|
| 192.168.17.150 | k8s-Master | kube-apiserver kube-schduler kube-controller-manager docker flannel kubelet |
| 192.168.17.152 | k8s-node01 | kubelet kube-proxy docker flannel |
| 192.168.17.149 | k8s-node01 | kubelet kube-proxy docker flannel |
前期的初始化配置可以用ansible进行配置
详情请参考ansible初识,安装,配置文件说明,模块讲解,_秋为春的博客-CSDN博客
关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
关闭selinux
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config && setenforce 0
关闭临时分区
swapoff -a
配置主机名
将桥接的IPv4流量传递到iptables的链,使设置生效
cat > /etc/sysctl.d/k8s.conf << EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sysctl --system
kube-proxy开启ipvs的前置条件
cat > /etc/sysconfig/modules/ipvs.modules <可以看到已经生效了
正式安装 所有节点安装docker配置docker源
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo安装并重启
yum -y install docker-ce-18.06.1.ce-3.el7 systemctl enable docker && systemctl start docker添加kubeenetes的yum源
cat > /etc/yum.repos.d/kubernetes.repo << EOF [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF所有节点安装指定安装
yum install -y kubelet-1.15.0 kubeadm-1.15.0 kubectl-1.15.0部署初始化Master节点 (IP换成你自己的)
kubeadm init --apiserver-advertise-address=192.168.17.150 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.15.0 --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16成功后截图
根据提示创建
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config默认token的有效期为24小时,当过期之后,该token就不可用了,
节点加入
如果后续有nodes节点加入,解决方法如下:
重新生成新的token使用kubeadm join 注册Node节点到Matser
kubeadm join 的内容,在上面kubeadm init 已经生成好了 node节点都要执行
kubeadm join 192.168.17.150:6443 --token cbpodu.9pisi4kebvnsqess > --discovery-token-ca-cert-hash sha256:8242906788bc9012b510646f0598d79efdbfbc19b3f4ef01b133bd1a65546909输出内容
安装网络节点 只在主节点安装
在 https://github.com/kubernetes/dashboard/releases?page=3 找对应版本的网络版本
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta2/aio/deploy/recommended.yaml成功后的截图
查看node状态
测试集群
在Kubernetes集群中创建一个pod,然后暴露端口,验证是否正常访问:
kubectl create deployment nginx --image=nginx //创建 kubectl expose deployment nginx --port=80 --type=NodePort //暴露 kubectl get pods,svc //获取访问



