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 <<EOF
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
}
}
EOF
systemctl restart docker # 重启使配置生
4、安装 kubelet、kubeadm 、kubectl
1、修改镜像源为阿里的
访问http://mirrors.aliyun.com/kubernetes/yum/repos/可以查看最新稳定的源路径,可以根据自己意向选配
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、关闭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
还没有评论,来说两句吧...