K8s入门-集群安装

一、安装准备

准备两台以上服务器用于主(Master)、次(Node)区分

服务器IP 节点名 描述
192.168.111.1 K8s-Master 主节点
192.168.111.2 K8s-Minion1 下属节点1
192.168.111.3 K8s-Minion2 下属节点2

 

 

 

 

 

二、安装相关服务准备

1、确保服务器之间可以互相通信

ping 192.168.111.1
ping 192.168.111.2
ping 192.168.111.3

2、关闭防火墙和swap

systemctl disable iptables-services firewalld
systemctl stop iptables-services firewalld
或
systemctl stop firewalld
systemctl disable firewalld
swapoff -a
存在swap自动启动,最好固话修改/etc/fstab文件,取消SWAP的自动挂载,注释swap下的UUID=xxxx
使用free -m确认swap已经关闭

【注】:kubelet 在 1.8 版本以后强制要求 swap 必须关闭,Swap 带来各种性能上的不确定性,应用场景少,官方不再推荐

3、安装docker

Docker 具体安装这里省略,主要提及到与k8s相关
修改docker cgroup驱动,与k8s一致,使用systemd

# 修改docker cgroup驱动:native.cgroupdriver=systemd
cat > /etc/docker/daemon.json <

4、安装 kubelet、kubeadm 、kubectl

1、修改镜像源为阿里的
访问http://mirrors.aliyun.com/kubernetes/yum/repos/可以查看最新稳定的源路径,可以根据自己意向选配

cat < /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、关闭selinux selinux是一个安全策略,导致很多服务端口是关闭的
setenforce 0

3、安装kubelet\kubeadm\kubectl
yum install -y kubelet kubeadm kubectl

4、开机启动
systemctl enable kubelet && systemctl start kubelet

5、拉取镜像

1、kubeadm config images list # 列出所需镜像
2、kubeadm config images pull # 拉取集群所需镜像,这个需要

list展示的镜像列表基本来源:k8s.gcr.io/xxx:v.xxx
[
k8s.gcr.io/kube-apiserver:v1.15.3
k8s.gcr.io/kube-controller-manager:v1.15.3
k8s.gcr.io/kube-scheduler:v1.15.3
k8s.gcr.io/kube-proxy:v1.15.3
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.3.10
k8s.gcr.io/coredns:1.3.1
]
国内镜像源大部分为:mirrorgooglecontainers/xxx:v.xxx
[
mirrorgooglecontainers/kube-apiserver:v1.14.1
mirrorgooglecontainers/kube-controller-manager:v1.14.1
mirrorgooglecontainers/kube-scheduler:v1.14.1
mirrorgooglecontainers/kube-proxy:v1.14.1
mirrorgooglecontainers/pause:3.1
mirrorgooglecontainers/etcd:3.3.10
coredns/coredns:1.3.1  # 这个在mirrorgooglecontainers中没有
]
我们只需要替换镜像源 
docker tag mirrorgooglecontainers/xxx:v.xxx k8s.gcr.io/xxx:v.xxx
# 把所需的镜像直接docker pull下载好,init的时候就不会再拉镜像,由于无法连接google镜像库导致出错

3、Master节点需要上述所以镜像源
4、Node节点只需要kube-proxy 和 pause

三、创建K8s集群

·1、应用flannel网络

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

2、初始化

kubeadm init --apiserver-advertise-address 192.168.111.1 --pod-network-cidr  192.168.111.0/24

# --apiserver-advertise-address Master主节点地址
# --pod-network-cidr 指定pod网络子网,应用于fannel网络

3、检查

1、在主节点Master上查询子节点Node是否存在
kubectl get nodes

2、kubectl get pods --all-namespaces

 

你可能感兴趣的:(K8s,服务搭建,kubernetes)