K8S instalação do cluster

Primeiro, a descrição ambiental

Em segundo lugar, o sistema é inicializado (mestre, nó 1, nó 2)

  1. cat / etc / hosts

    192.168.1.136 K8S-master01
    192.168.1.134 K8S-node1
    192.168.1.137 K8S-node2
    192.168.1.25 hub.testwang.com

 

  2. As dependências base de montagem

    yum install -y conntrack ntpdate NTP ipvsadm ipset jq iptables onda sysstat libseccomp wget vim net-tools git

  3. Defina firewall iptables regras e configurar vazia

    parada systemctl firewalld && systemctl desativar firewalld

    yum -y install iptables-serviços && systemctl começar iptables && systemctl permitir iptables
    && iptables -F && service iptables save

  4. Feche selinux

    swapoff -a && sed -i '/ swap / s / ^ \ (. * \) $ / # \ 1 / g' / etc / fstab

    setenforce 0 && sed -i 's / ^ SELINUX =. * / SELINUX = deficientes /' / etc / selinux / config

 

   A otimização de parâmetros do kernel

     modprobe br_netfilter 

    

    cat> kubernetes.conf << EOF

    net.bridge.bridge-nf-call-iptables = 1

    NF-Call -. Net.bridge.bridge os ip6tables = 1
    . É nomeado net.ipv4.ip_forward e = 1
    net.ipv4.tcp_tw_recycle = 0
    vm.swappiness = proibir o uso de espaço de swap # 0, somente quando o sistema só é permitido usá-lo OOM
    vm.overcommit_memory = # 1 não verifica se a memória física suficiente
    vm.panic_on_oom = 0 # abrir o Oom
    fs.inotify.max_user_instances = 8192
    fs.inotify.max_user_watches = 1048576
    fs.file-max = 52706963
    fs.nr_open = 52706963
    net.ipv6.conf. =. 1 all.disable_ipv6
    net.netfilter.nf_conntrack_max = 2.310.720

    EOF

  6. A zona de sistema de ajuste

    

  # Defina o fuso horário para China / Shanghai
  timedatectl o SET-TimeZone Ásia / em Shanghai
  # A hora UTC atual para o relógio de hardware
  timedatectl a 0 SET-local-a RTC
  # reboot do sistema depende do tempo de serviço
  systemctl restart rsyslog
  systemctl restart crond

  Desativar os serviços desnecessários
    systemctl parada postfix.service && systemctl postfix.service disable

  7. Defina rsyslogd e systemd journald

    

    mkdir / var / log / journal
    /etc/systemd/journald.conf.d mkdir

    CAT> /etc/systemd/journald.conf.d/99-prophet.conf << EOF
    [Journal]
    # persistentemente guardado no disco
    de armazenamento persistente =
    # log compressão história
    Compress = yes
    SyncIntervalSec = 5m
    RateLimitInterval = 30s
    RateLimitBurst = 1000
    # o espaço máximo 10G
    SystemMaxUse = 10G
    # único log de arquivo máximo 200M
    SystemMaxFileSize = 200M
    # log economizar tempo duas semanas
    MaxRetentionSec = 2 semanas
    # não toras para a frente para syslog
    ForwardToSyslog = nO

  8. O sistema do kernel atualizar 4,44

  CentOS 7.x sistema vem com alguns do kernel 3.10.x erros, levando a executar Docker, a instabilidade Kubernetes, tais como: RPM -Uvh
  http://www.elrepo.org/elrepo-release-7.0-3.el7. elrepo.noarch.rpm
  RPM -Uvh http://www.elrepo.org/elrepo-release-7.0

Em terceiro lugar, instalar janela de encaixe e K8S

  1. kube-proxy abrir as ipvs condição prévia

  modprobe br_netfilter

  cat> /etc/sysconfig/modules/ipvs.modules << EOF
  #! / bin / bash!
  modprobe - ip_vs
  modprobe - ip_vs_rr
  modprobe - ip_vs_wrr
  modprobe - ip_vs_sh
  modprobe - nf_conntrack_ipv4
  EOF
  chmod 755 / etc / sysconfig / módulos /ipvs.modules && festa /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4 
  2.安装docker 

    

  yum install -y lvm2 yum-utils device-mapper-persistent-data
  yum-config-manager \
  --add-repo \
  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  yum update-y && yum install -y estivador-ce
  ##创建/ / janela de encaixe目录etc
  mkdir / etc / janela de encaixe
  #配置daemon.
  CAT> /etc/docker/daemon.json << EOF
  {
  "Exec-opta": [ "native.cgroupdriver = systemd"],
  "log-piloto": "json-file",
  "log-opta": {
  " max-size ": "100m"
  }
  }
  EOF
  mkdir -p /etc/systemd/system/docker.service.d
  #重启janela de encaixe服务
  systemctl daemon-reload &&

  3.   Instalação Kubeadm (configuração mestre-escravo) 

  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
  yum -y instalar kubeadm-1.15.1 kubectl-1.15.1 kubelet-1.15.1
  systemctl permitir kubelet.service

  4 Configure o arquivo de configuração inicial

  cat kubeadm-config.yaml  

kubeadm.k8s.io/v1beta2: apiVersion 
bootstrapTokens: 
- grupos: 
  - Sistema: bootstrappers: kubeadm: default-nó-token de 
  token: abcdef.0123456789abcdef 
  TTL: 24h0m0s 
  usos: 
  - assinatura 
  - autenticação 
tipo: InitConfiguration 
localAPIEndpoint: 
  advertiseAddress: 192.168.1.136 
  bindport: 6443 
nodeRegistration: 
  criSocket: /var/run/dockershim.sock 
  nome: K8S-master01 
  impurezas: 
  - efeito: NoSchedule 
    chave: node-role.kubernetes.io/master 
--- 
apiServer: 
  timeoutForControlPlane: 4m0s  
apiVersion: kubeadm.k8s .io / v1beta2
certificatesDir: / etc / Kubernetes / PKI
clusterName: Kubernetes 
controllerManager: {} 
DNS: 
  Tipo: CoreDNS 
ETCD: 
  local: 
    DataDir: / var / lib / ETCD 
imageRepository: k8s.gcr.io 
tipo: ClusterConfiguration 
kubernetesVersion: v1.15.3 
rede: 
  DNSDOMAIN: cluster.local 
  podSubnet: "10,244 .0.0 / 16" 
  serviceSubnet: 10.96.0.0/12 
Scheduler: {} 
--- 
apiVersion: kubeproxy.config.k8s.io/v1alpha1 
tipo: KubeProxyConfiguration 
featureGates: 
  SupportIPVSProxyMode: true 
modo: ipvs

Acho que você gosta

Origin www.cnblogs.com/Robi-9662/p/12614566.html
Recomendado
Clasificación