国内部署kubernets 1.6.2集群

来源:互联网 发布:python截取中文字符串 编辑:程序博客网 时间:2024/05/16 18:55

本文使用kubeadm进行部署

本次安装的环境信息如下:

  • Master:node03/192.168.1.13
  • node1:node04/192.168.1.14
  • node2:node02/192.168.1.12
  • 系统版本:CentOS Linux 7 (Core)
  • Docker版本:
  • 容器运行时版本:docker://1.12.6
  • Kubelet 版本:v1.6.2
  • Kube-Proxy 版本:v1.6.2
  • Kubeadm版本:V1.6.2

安装使用的镜像信息如下:

docker pull hub.c.163.com/k8s163/kube-proxy-amd64:v1.6.2
docker pull hub.c.163.com/k8s163/etcd-amd64:3.0.17
docker pull hub.c.163.com/k8s163/kube-apiserver-amd64:v1.6.2
docker pull hub.c.163.com/k8s163/kube-controller-manager-amd64:v1.6.2
docker pull hub.c.163.com/k8s163/kube-scheduler-amd64:v1.6.2
docker pull hub.c.163.com/k8s163/pause-amd64:3.0
docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/etcd-amd64:3.0.17
docker pull registry.cn-hangzhou.aliyuncs.com/kube_containers/kube-proxy-amd64:v1.6.2

docker pull registry.cn-hangzhou.aliyuncs.com/kube_containers/kube-controller-manager-amd64:v1.6.2
docker pull registry.cn-hangzhou.aliyuncs.com/kube_containers/kube-apiserver-amd64:v1.6.2

docker pull hub.c.163.com/fanhong/flannel:v0.8.0-amd64

docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/k8s-dns-kube-dns-amd64:1.14.1
docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/k8s-dns-dnsmasq-nanny-amd64:1.14.1

docker pull registry.cn-hangzhou.aliyuncs.com/google-containers/k8s-dns-sidecar-amd64:1.14.1

docker pull registry.cn-hangzhou.aliyuncs.com/magina-k8s/kubernetes-dashboard-amd64:v1.6.3

镜像打标后的信息如下:

–打标命令:docker tag

gcr.io/google_containers/etcd-amd64:3.0.17
gcr.io/google_containers/kube-apiserver-amd64:v1.6.2
gcr.io/google_containers/kube-controller-manager-amd64:v1.6.2
gcr.io/google_containers/kube-scheduler-amd64:v1.6.2
gcr.io/google_containers/pause-amd64:3.0
gcr.io/google_containers/kube-proxy-amd64:v1.6.8
gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.1
gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.1
gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.1
quay.io/coreos/flannel:v0.8.0-amd64

Master节点初始化

1、调整网卡至静态:
因我使用的是vm模板进行复制虚拟机,因此需要进行网络的调整
vi /etc/sysconfig/network-scripts/ifcfg-en0

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=19c5a46b-f11f-4e0b-8d1c-89bc7ea1a2ab
DEVICE=eno16777736
ONBOOT=yes
IPADDR=192.168.1.11
GATEWAY=192.168.1.1
NETMASK=255.255.255.0

调整域名服务:(节点需要能上网)
vi /etc/resolv.conf
nameserver 211.162.66.66
nameserver 211.162.77.77
2、修改主机名
vi /etc/hostname

hostnamectl set-hostname nodeXX

3、调整安全策略(关闭selinux和firewall)
setenforce 0

systemctl stop firewalld.service
systemctl disable firewalld.service

systemctl disable firewalld.service

vi /etc/sysconfig/selinux
SELINUX=disabled

4、调整yum源为阿里云源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

vi /etc/yum.repos.d/kubernetes.repo

[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0

yum makecache
5、安装docker1.12.6(阿里云上默认版本,1.11版本以后均可)
yum install docker

systemctl enable docker && systemctl start docker

6、安装kubelet和kubeadm(这里指定了1.6.2版本)
yum install -y kubelet-1.6.2

yum install -y kubectl-1.6.2
yum install -y kubeadm-1.6.2

systemctl enable kubelet && systemctl start kubelet

7、下载所有镜像并tag(见本文头)

8、初始化kubernets1.6.2
kubeadm init –pod-network-cidr 10.244.0.0/16 –skip-preflight-checks –token-ttl 0

重要:注意收集
kubeadm join –token 200c10.75d19c980818ff34 192.168.1.13:6443
用来部署node节点
//需检查是否有自动安装flannel网络,如未安装会有如下报错
Unable to update cni config: No networks found in /etc/cni/net.d
需要执行以下步骤
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel-rbac.yml
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

9、复制kubeconfig文件
cp /etc/kubernetes/admin.conf /root/.kube/config

10、检查安装正确性(所有pods均处于Running状态)
[root@node03 ~]# kubectl get pods –all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system etcd-node03 1/1 Running 2 1d
kube-system kube-apiserver-node03 1/1 Running 1 1d
kube-system kube-controller-manager-node03 1/1 Running 1 1d
kube-system kube-dns-3913472980-dh4q7 3/3 Running 4 1d
kube-system kube-flannel-ds-8d3wq 2/2 Running 0 1h
kube-system kube-flannel-ds-l5sgq 2/2 Running 0 6m
kube-system kube-flannel-ds-p6tz7 2/2 Running 0 1h
kube-system kube-proxy-d31wv 1/1 Running 0 1d
kube-system kube-proxy-frrpc 1/1 Running 0 2h
kube-system kube-proxy-n5n86 1/1 Running 0 6m
kube-system kube-scheduler-node03 1/1 Running 1 1d
kube-system kubernetes-dashboard-1046611987-xv3tc 1/1 Running 0 30m

NODE节点安装

1、执行master安装过程1~7步骤
2、执行节点初始化
kubeadm init –pod-network-cidr 10.244.0.0/16 –skip-preflight-checks –token-ttl 0

3、在Master节点使用命令检查是否已加入集群
[root@node03 ~]# kubectl get nodes
NAME STATUS AGE VERSION
node02 Ready 6m v1.6.2
node03 Ready 1d v1.6.2
node04 Ready 2h v1.6.2