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 创建自动构建工程
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
安装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
完成
原创文章,转载请保留出处