kubeadm 安装 kubernetes 1.4.6

kubeadm 安装 kubernetes 1.4.6

  • 准备
  • 安装docker
  • 下载镜像
  • 安装kubernetes
  • 安装kubernetes-dashbord

准备

机器名 ip
centos7-kubermaster 192.168.10.130
centos7-kuber146node1 192.168.10.131
centos7-kuber146node2 192.168.10.132

master 和node的修改hosts 文件

192.168.10.130 centos7-kubermaster
192.168.10.131 centos7-kuber146node1
192.168.10.132 centos7-kuber146node2

或者

hostnamectl --static set-hostname <hostname>

安装DOCKER

详细安装方法参照官网文档
传送门docker安

下载镜像

因为伟大GWF的原因,要想直接安装成功是不可能的。因为gcr.io/google_containers 下的镜像不可访问。
于是这里要借助github + docker hub的方式来解决镜像问题。通过github 编写dockerfile,然后通过docker hub 的自动构建任务来获取gcr.io/google_containers中的镜像,然后本地在从docker hub 下载镜像。
首先要有一个github 的repo,可以直接从我准备好的repo fork 传送门

然后进入docker hub

1 创建自动构建工程
创建自动build工程


2 选择github 方式
这里写图片描述


3 选中自己的github repo
这里写图片描述


4 设置build setting
这里写图片描述


5 点击trigger build 项目,查看build结果
这里写图片描述

6 本地拉去镜像

docker pull yudar1024/docker-library:etcd-amd64-2.2.5

7 将本地yudar1024/docker-library:etcd-amd64-2.2.5 镜像 打成google的镜像

docker tag yudar1024/docker-library:etcd-amd64-2.2.5 gcr.io/google_containers/etcd-amd64:2.2.5

docker rmi yudar1024/docker-library:etcd-amd64-2.2.5

安装kubernetes

安装kubelet(所有节点,包括master 和node)

# cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://yum.kubernetes.io/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
       https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
# setenforce 0
yum install -y kubelet kubeadm kubectl kubernetes-cni
systemctl enable kubelet && systemctl start kubelet

安装master

kubeadm init --api-advertise-addresses=192.168.10.130 --use-kubernetes-version v1.4.6

记录token

kubeadm join --token=2f16a0.0daacdab5df146df 192.168.10.130 

安装node,在所有node 执行

kubeadm join --token=2f16a0.0daacdab5df146df 192.168.10.130

查看集群状态

[root@centos7-kubermaster ~]# kubectl get nodes
NAME                    STATUS    AGE
centos7-kuber146node1   Ready     2h
centos7-kuber146node2   Ready     2h
centos7-kubermaster     Ready     2h

安装pod network ( add-on)

下载weave yaml 文件

curl -O  https://git.io/weave-kube

打开刚刚下载的weave-daemonset.yaml,找到image元素,可以看到需要如下两个镜像
image: weaveworks/weave-kube:1.8.1
weaveworks/weave-npc:1.8.1

安装网络
docker pull weaveworks/weave-kube:1.8.1
docker pull weaveworks/weave-npc:1.8.1
kubectl apply -f https://git.io/weave-kube


查看结果 
[root@centos7-kubermaster ~]# kubectl get pods --all-namespaces
NAMESPACE     NAME                                          READY     STATUS    RESTARTS   AGE
kube-system   dummy-2088944543-0v299                        1/1       Running   0          2h
kube-system   etcd-centos7-kubermaster                      1/1       Running   0          2h
kube-system   kube-apiserver-centos7-kubermaster            1/1       Running   0          2h
kube-system   kube-controller-manager-centos7-kubermaster   1/1       Running   0          2h
kube-system   kube-discovery-1150918428-eclmt               1/1       Running   0          2h
kube-system   kube-dns-654381707-l2pu6                      3/3       Running   0          2h
kube-system   kube-proxy-5wyav                              1/1       Running   0          2h
kube-system   kube-proxy-dwjbj                              1/1       Running   0          2h
kube-system   kube-proxy-igp1e                              1/1       Running   0          2h
kube-system   kube-scheduler-centos7-kubermaster            1/1       Running   0          2h
kube-system   kubernetes-dashboard-3109394916-msusa         1/1       Running   0          2h
kube-system   weave-net-7yj7g                               2/2       Running   0          2h
kube-system   weave-net-cdf66                               2/2       Running   0          2h
kube-system   weave-net-wgx8g                               2/2       Running   0          2h
### 推送配置到集群
 # 备份master节点的 配置文件

 /etc/kubernetes/admin.conf

 #保存至 其他电脑, 通过执行配置文件控制集群

 kubectl --kubeconfig ./admin.conf get nodes

安装dashbord

#下载 yaml 文件, 直接导入会去官方拉取images

curl -O https://rawgit.com/kubernetes/dashboard/master/src/deploy/kubernetes-dashboard.yaml


#编辑 yaml 文件

vi kubernetes-dashboard.yaml
#grc 的镜像都需要预先通过 dockerhub 中转拉取
image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.4.0

修改为

image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.4.2


imagePullPolicy: Always

修改为

imagePullPolicy: IfNotPresent

#执行如下命令
kubectl create -f ./kubernetes-dashboard.yaml

# 查看 NodePort ,既外网访问端口

kubectl describe svc kubernetes-dashboard --namespace=kube-system

Port:           <unset> 80/TCP
NodePort:       <unset> 30451/TCP

浏览器访问 http://192.168.10.130:30451
完成

原创文章,转载请保留出处

相关文章
相关标签/搜索