K8s入门-集群安装

秒速五厘米 2022-11-26 11:57 303阅读 0赞

一、安装准备

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
























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

二、安装相关服务准备

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

  1. ping 192.168.111.1
  2. ping 192.168.111.2
  3. ping 192.168.111.3

2、关闭防火墙和swap

  1. systemctl disable iptables-services firewalld
  2. systemctl stop iptables-services firewalld
  3. systemctl stop firewalld
  4. systemctl disable firewalld
  5. swapoff -a
  6. 存在swap自动启动,最好固话修改/etc/fstab文件,取消SWAP的自动挂载,注释swap下的UUID=xxxx
  7. 使用free -m确认swap已经关闭
  8. 【注】:kubelet 1.8 版本以后强制要求 swap 必须关闭,Swap 带来各种性能上的不确定性,应用场景少,官方不再推荐

3、安装docker

  1. Docker 具体安装这里省略,主要提及到与k8s相关
  2. 修改docker cgroup驱动,与k8s一致,使用systemd
  3. # 修改docker cgroup驱动:native.cgroupdriver=systemd
  4. cat > /etc/docker/daemon.json <<EOF
  5. {
  6. "exec-opts": ["native.cgroupdriver=systemd"],
  7. "log-driver": "json-file",
  8. "log-opts": {
  9. "max-size": "100m"
  10. }
  11. }
  12. EOF
  13. systemctl restart docker # 重启使配置生

4、安装 kubelet、kubeadm 、kubectl

  1. 1、修改镜像源为阿里的
  2. 访问http://mirrors.aliyun.com/kubernetes/yum/repos/可以查看最新稳定的源路径,可以根据自己意向选配
  3. cat <<EOF > /etc/yum.repos.d/kubernetes.repo
  4. [kubernetes]
  5. name=Kubernetes
  6. baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
  7. enabled=1
  8. gpgcheck=0
  9. repo_gpgcheck=0
  10. gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
  11. http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
  12. EOF
  13. 2、关闭selinux selinux是一个安全策略,导致很多服务端口是关闭的
  14. setenforce 0
  15. 3、安装kubelet\kubeadm\kubectl
  16. yum install -y kubelet kubeadm kubectl
  17. 4、开机启动
  18. systemctl enable kubelet && systemctl start kubelet

5、拉取镜像

  1. 1kubeadm config images list # 列出所需镜像
  2. 2kubeadm config images pull # 拉取集群所需镜像,这个需要翻墙
  3. list展示的镜像列表基本来源:k8s.gcr.io/xxx:v.xxx
  4. [
  5. k8s.gcr.io/kube-apiserver:v1.15.3
  6. k8s.gcr.io/kube-controller-manager:v1.15.3
  7. k8s.gcr.io/kube-scheduler:v1.15.3
  8. k8s.gcr.io/kube-proxy:v1.15.3
  9. k8s.gcr.io/pause:3.1
  10. k8s.gcr.io/etcd:3.3.10
  11. k8s.gcr.io/coredns:1.3.1
  12. ]
  13. 国内镜像源大部分为:mirrorgooglecontainers/xxx:v.xxx
  14. [
  15. mirrorgooglecontainers/kube-apiserver:v1.14.1
  16. mirrorgooglecontainers/kube-controller-manager:v1.14.1
  17. mirrorgooglecontainers/kube-scheduler:v1.14.1
  18. mirrorgooglecontainers/kube-proxy:v1.14.1
  19. mirrorgooglecontainers/pause:3.1
  20. mirrorgooglecontainers/etcd:3.3.10
  21. coredns/coredns:1.3.1 # 这个在mirrorgooglecontainers中没有
  22. ]
  23. 我们只需要替换镜像源
  24. docker tag mirrorgooglecontainers/xxx:v.xxx k8s.gcr.io/xxx:v.xxx
  25. # 把所需的镜像直接docker pull下载好,init的时候就不会再拉镜像,由于无法连接google镜像库导致出错
  26. 3Master节点需要上述所以镜像源
  27. 4Node节点只需要kube-proxy pause

三、创建K8s集群

·1、应用flannel网络

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

2、初始化

  1. kubeadm init --apiserver-advertise-address 192.168.111.1 --pod-network-cidr 192.168.111.0/24
  2. # --apiserver-advertise-address Master主节点地址
  3. # --pod-network-cidr 指定pod网络子网,应用于fannel网络

3、检查

  1. 1、在主节点Master上查询子节点Node是否存在
  2. kubectl get nodes
  3. 2kubectl get pods --all-namespaces

发表评论

表情:
评论列表 (有 0 条评论,303人围观)

还没有评论,来说两句吧...

相关阅读