Kubernetes 1.7.5部署
环境
- 系统
CentOS 7.2
- CPU
8 cores
- 内存
16G 64G 64G
- 三台主机,
hostname
为hd-22 hd-26 hd-28
其中hd-22
为master
节点
准备工作
系统设置
- 关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
- 禁用交换内存
swapoff -a
- 禁用SELinux
setenforce 0
配置yum源
docker
# cat > /etc/yum.repo.d/docker-main.repo <<EOF
name=Docker main Repository
baseurl=https://get.daocloud.io/docker/yum-repo/main/centos/7
enabled=1
gpgcheck=1
gpgkey=https://get.daocloud.io/docker/yum/gpg
EOF
kubernetes
# cat > /etc/yum.repo.d/kubernetes.repo <<EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
EOF
安装docker以及kubernetes
docker安装
# yum -y install docker-engine
# mkdir -p /etc/docker
# cat > /etc/docker/daemon.json <<EOF
{
"registry-mirrors": ["http://docker.mirrors.ustc.edu.cn"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
# systemctl enable docker && systemctl start docker
kubernetes安装
k8s集群分为master
节点和node
节点,master节点主要用于对于集群进行管理。k8s安装一般有两种安装方式,第一种为官方提供的工具kubeadm
安装,第二种为二进制文件
安装,此处主要介绍第一种
镜像下载
注意:由于使用
kubeadm
在安装的过程中会使用一些谷歌开源的镜像,但是国内无法访问到gcr.io
,所以此处需要手动去pull
镜像并进行docker tag
操作。此处我已编译的k8s镜像为v1.7.5
# docker pull alleyj/k8s-dns-dnsmasq-nanny-amd64:1.14.4
# docker pull alleyj/k8s-dns-kube-dns-amd64:1.14.4
# docker pull alleyj/k8s-dns-sidecar-amd64:1.14.4
# docker pull alleyj/controller-manager-amd64:v1.7.5
# docker pull alleyj/kube-apiserver-amd64:v1.7.5
# docker pull alleyj/kube-scheduler-amd64:v1.7.5
# docker pull alleyj/kube-proxy-amd64:v1.7.5
# docker pull alleyj/kube-discovery-amd64:1.0
# docker pull alleyj/dnsmasq-metrics-amd64:1.0
# docker pull alleyj/etcd-amd64:3.0.17
# docker pull alleyj/exechealthz-amd64:1.2
# docker pull alleyj/k8s-dns-dnsmasq-nanny-amd64:1.14.1
# docker pull alleyj/k8s-dns-kube-dns-amd64:1.14.1
# docker pull alleyj/k8s-dns-sidecar-amd64:1.14.1
# docker pull alleyj/pause-amd64:3.0
# 下载后可将其push至自己的私服中方便其他节点使用,此处省略
# docker tag alleyj/k8s-dns-dnsmasq-nanny-amd64:1.14.4 gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.4
# docker tag alleyj/k8s-dns-kube-dns-amd64:1.14.4 gcr.io/google_containers/k8s-dns-kube-dns-