2018-04-16 Kubernetes安装记录,待整理

  • 准备虚拟环境
    1台master,3台node
$ ls
CentOS-7.1.1503-x86_64-netboot.box Vagrantfile
$ vagrant box add centos7 ./CentOS-7.1.1503-x86_64-netboot.box
vagrant up && vagrant ssh

其中,CentOS7的镜像包来自 http://www.vagrantbox.es/ ,而Vagrantfile是:

Vagrant.configure("2") do |config|
  config.vm.box = "centos7"
  config.vm.network "private_network", ip: "192.168.33.17" # master是17,其他3个node分别是18,19,20
end

安装常用工具

sudo yum install -y wget curl go docker
sudo yum install -y net-tools // for "ifconfig"
  • 下载Kubernetes binary 包
wget https://github.com/kubernetes/kubernetes/releases/download/v1.10.1/kubernetes.tar.gz

解压后,通过脚本下载 server binary包

./kubernetes/cluster/get-kube-binaries.sh
  • 设置yum源
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
  • 下载 kubectl 工具
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.10.0/bin/linux/amd64/kubectl
  • 安装docker
sudo yum install -y docker
  • 设置hostname
sudo hostnamectl --static set-hostname k8s-master
sudo hostnamectl --static set-hostname k8s-node1
sudo hostnamectl --static set-hostname k8s-node2
sudo hostnamectl --static set-hostname k8s-node3
  • 关闭防火墙
sudo systemctl stop firewalld && sudo systemctl disable firewalld
  • ntp
sudo yum -y install ntp && sudo systemctl start ntpd && sudo systemctl enable ntpd

You will run docker, kubelet, and kube-proxy outside of a container, the same way you would run any system daemon, so you just need the bare binaries. For etcd, kube-apiserver, kube-controller-manager, and kube-scheduler, we recommend that you run these as containers, so you need an image to be built.
就是说前三个是肯定在虚拟机里直接运行的,而后面这些服务可以通过容器的方式运行。
而通过 ./kubernetes/cluster/get-kube-binaries.sh 的方式下载的binary包,是包含了docker的image的,例如:

[vagrant@k8s-master bin]$ ll *.tar
-rw-r--r-- 1 vagrant vagrant 133343232 Apr 12 15:16 cloud-controller-manager.tar
-rw-r--r-- 1 vagrant vagrant  58386432 Apr 12 15:16 kube-aggregator.tar
-rw-r--r-- 1 vagrant vagrant 225259008 Apr 12 15:16 kube-apiserver.tar
-rw-r--r-- 1 vagrant vagrant 148072448 Apr 12 15:16 kube-controller-manager.tar
-rw-r--r-- 1 vagrant vagrant  98919936 Apr 12 15:16 kube-proxy.tar
-rw-r--r-- 1 vagrant vagrant  50631168 Apr 12 15:16 kube-scheduler.tar

image.png

  • turn off swap
    sudo swapoff -a
    free -h 可以检查是否已经把 swap 关掉了

https://blog.csdn.net/ysssssssssssssss/article/details/79596367
解决以下问题:

Error syncing pod, skipping: failed to "StartContainer" for "POD" with RunContainerError: "runContainer: Error response from daemon: {\"message\":\"error creating overlay mount to /var/lib/docker/overlay2/3f2f395dd96f6c95e95aff57abe9222a585ef651b954bdd419b998c033d3beac-init/merged: invalid argument\"}"

构建外部可以访问的服务时,外部访问不了,解决办法

[vagrant@k8s-node1 ~]$ cat /etc/kubernetes/proxy
###
# kubernetes proxy config

# default config should be adequate

# Add your own!
KUBE_PROXY_ARGS="--proxy-mode=userspace"
[vagrant@k8s-node1 ~]$ sudo systemctl restart kube-proxy

3个节点都需要,master上不需要。这篇文章刚好说反了。。。

参考文档

  1. http://www.cnblogs.com/kevingrace/p/5575666.html

猜你喜欢

转载自blog.csdn.net/sunzhongyuan888/article/details/80371494