测试环境安装k8s 1.13.3

环境配置

IP 备注
172.16.0.238 master
172.16.0.208 master
172.16.0.236 master
172.16.0.208 etcd
172.16.0.191 etcd
172.16.0.204 etcd
172.16.0.209 pod
172.16.0.249 pod
172.16.0.229 statefulset pod
测试环境域名
域名 地址 备注
etcd1.lianhang.jetair 172.16.0.208 集群状态存储
etcd2.lianhang.jetair 172.16.0.191 集群状态存储
etcd3.lianhang.jetair 172.16.0.204 集群状态存储
kmaster1.lianhang.jetair 172.16.0.236 k8smaster
kmaster2.lianhang.jetair 172.16.0.230 k8smaster
kmaster3.lianhang.jetair 172.16.0.238 k8smaster
haber.lianhang.jetair 172.16.0.229 docker镜像仓库
pod1.lianhang.jetair 172.16.0.209 无状态应用pod
pod1.lianhang.jetair 172.16.0.249 无状态应用pod
stateful.lianhang.jetair 172.16.0.229 有状态应用pod

使用ansible-playbook直接初始化机器配置

  1. - hosts: init-k8s
  2. remote_user: root
  3. tasks:
  4. - name: stop firewalld
  5. shell: systemctl disable firewalld && systemctl mask firewalld
  6. - name: stop selinux
  7. selinux:
  8. state: disabled
  9. - name: add_conf_to_limits.conf
  10. lineinfile:
  11. dest: /etc/security/limits.conf
  12. line: "{{ item.text }}"
  13. with_items:
  14. - { text: '* soft nofile 65536' }
  15. - { text: '* hard nofile 65536' }
  16. - { text: '* soft nproc 65536' }
  17. - { text: '* hard nproc 65536' }
  18. - { text: '* soft memlock unlimited' }
  19. - { text: '* hard memlock unlimited' }
  20. - name: delete /etc/security/limits.conf.d/*
  21. shell: rm -rf /etc/security/limits.d/*
  22. - name: add k8s repo
  23. copy:
  24. src: k8s.repo
  25. dest: /etc/yum.repos.d/
  26. - name: add docker repo
  27. copy:
  28. src: docker-ce.repo
  29. dest: /etc/yum.repos.d/
  30. - name: yum makecache fast
  31. shell: yum makecache fast -y
  32. - name: install dependent packeges
  33. yum:
  34. name: docker-ce-18.06.3.ce,kubelet-1.13.3,kubeadm-1.13.3,kubectl-1.13.3,kubernetes-cni-0.6.0,ipvsadm,bridge-utils
  35. state: present
  36. - name: add_conf_to_rc.local
  37. lineinfile:
  38. dest: /etc/rc.d/rc.local
  39. line: "{{ item.text }}"
  40. with_items:
  41. - { text: 'modprobe ip_vs' }
  42. - { text: 'modprobe ip_vs_rr' }
  43. - { text: 'modprobe ip_vs_wrr' }
  44. - { text: 'modprobe ip_vs_sh' }
  45. - { text: 'modprobe nf_conntrack_ipv4' }
  46. - { text: 'modprobe br_netfilter' }
  47. - name: chmod rc.local
  48. shell: chmod +x /etc/rc.d/rc.local && source /etc/rc.d/rc.local
  49. - name: add ip6br kernel args
  50. sysctl:
  51. name: net.bridge.bridge-nf-call-ip6tables
  52. value: 1
  53. state: present
  54. sysctl_file: /etc/sysctl.d/k8s.conf
  55. reload: yes
  56. - name: add ip4br kernel args
  57. sysctl:
  58. name: net.bridge.bridge-nf-call-iptables
  59. value: 1
  60. state: present
  61. sysctl_file: /etc/sysctl.d/k8s.conf
  62. reload: yes
  63. - name: add ip_forward
  64. sysctl:
  65. name: net.ipv4.ip_forward
  66. value: 1
  67. state: present
  68. sysctl_file: /etc/sysctl.d/k8s.conf
  69. reload: yes
  70. - name: add vm.swappiness
  71. sysctl:
  72. name: vm.swappiness
  73. value: 0
  74. state: present
  75. sysctl_file: /etc/sysctl.d/k8s.conf
  76. reload: yes
  77. - name: copy kubeletfile
  78. copy:
  79. src: 10-kubeadm.conf
  80. dest: /etc/systemd/system/kubelet.service.d
  81. - name: mkdier docker conf dir
  82. shell: mkdir -p /etc/docker 2>/dev/null
  83. - name: copy docker config file
  84. copy:
  85. src: docker_conf.json
  86. dest: /etc/docker/daemon.json
  87. - name: enable docker and kubelet
  88. shell: systemctl daemon-reload && systemctl enable docker && systemctl enable kubelet && systemctl start docker
  89. - name: init k8s yaml template
  90. template:
  91. src: kubeinit.yaml.j2
  92. dest: /root/kubeinit.yaml

docker 配置文件

  1. vim dockr_conf.json
  2. {
  3. "ip-forward": true,
  4. "bip": "172.16.51.1/24",
  5. "registry-mirrors": ["https://bo4997m9.mirror.aliyuncs.com","https://registry.docker-cn.com"],
  6. "insecure-registries": ["http://harbor.lianhang.jetair"],
  7. "exec-opts": ["native.cgroupdriver=systemd"],
  8. "storage-driver": "overlay2"
  9. }

Mastaer 的三个节点配置ssh证书并将公钥同步到其他机器,比较麻烦,这里步骤省略

  1. ssh-keygen
  2. ssh-copy-id all_k8s_nodes
文档更新时间: 2019-07-29 22:08   作者:张尚