Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
环境准备
系统环境为Centos7
1 |
$ systemctl stop firewalld |
安装K8S服务
-
下载安装
1
2
3
4
5
6
7
8
9
10
11
12#尽量安装官方ce版本,centos默认yum里的docker版本过低,不能编译dockerfile。
$ yum install -y docker-ce
$ systemctl enable docker && systemctl start docker
#修改docker拉取镜像源
$ vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com","https://4e9n046r.mirror.aliyuncs.com","http://8618acef.m.daocloud.io"]
}
$ systemctl daemon-reload && systemctl restart docker
$ yum install -y kubelet kubeadm kubectl kubernetes-cni
$ systemctl enable kubelet && systemctl start kubelet - 拉取所需要的镜像
1
2
3
4
5
6
7
8
9
10
11
12
13#拉取镜像,重命名为 gcr.io/google_containers 开头,以共kubeadm使用
$ docker pull warrior/pause-amd64:3.0 && docker tag warrior/pause-amd64:3.0 gcr.io/google_containers/pause-amd64:3.0
$ docker pull warrior/etcd-amd64:3.0.17 && docker tag warrior/etcd-amd64:3.0.17 gcr.io/google_containers/etcd-amd64:3.0.17
$ docker pull warrior/kube-apiserver-amd64:v1.6.0 && docker tag warrior/kube-apiserver-amd64:v1.6.0 gcr.io/google_containers/kube-apiserver-amd64:v1.6.0
$ docker pull warrior/kube-scheduler-amd64:v1.6.0 && docker tag warrior/kube-scheduler-amd64:v1.6.0 gcr.io/google_containers/kube-scheduler-amd64:v1.6.0
$ docker pull warrior/kube-controller-manager-amd64:v1.6.0 && docker tag warrior/kube-controller-manager-amd64:v1.6.0 gcr.io/google_containers/kube-controller-manager-amd64:v1.6.0
$ docker pull warrior/kube-proxy-amd64:v1.6.0 && docker tag warrior/kube-proxy-amd64:v1.6.0 gcr.io/google_containers/kube-proxy-amd64:v1.6.0
$ docker pull gysan/dnsmasq-metrics-amd64:1.0 && docker tag gysan/dnsmasq-metrics-amd64:1.0 gcr.io/google_containers/dnsmasq-metrics-amd64:1.0
$ docker pull zhaoqing/k8s-dns-kube-dns-amd64:1.14.4 && docker tag zhaoqing/k8s-dns-kube-dns-amd64:1.14.4 gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.4
$ docker pull zhaoqing/k8s-dns-dnsmasq-nanny-amd64:1.14.4 && docker tag zhaoqing/k8s-dns-dnsmasq-nanny-amd64:1.14.4 gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.4
$ docker pull zhaoqing/k8s-dns-sidecar-amd64:1.14.4 && docker tag zhaoqing/k8s-dns-sidecar-amd64:1.14.4 gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.4
$ docker pull awa305/kube-discovery-amd64:1.0 && docker tag awa305/kube-discovery-amd64:1.0 gcr.io/google_containers/kube-discovery-amd64:1.0
$ docker pull gysan/exechealthz-amd64:1.2 && docker tag gysan/exechealthz-amd64:1.2 gcr.io/google_containers/exechealthz-amd64:1.2 - 安装master
1
2$ kubeadm init --kubernetes-version=v1.9.4 --pod-network-cidr=10.244.0.0/16
#提示 kubeadm join --token ed33ee.b7c7c5303fac4385 192.168.11.1:6443 代表master安装完成
注意:
1.9版本因为提升性能,默认需要关闭swap分区
执行:swapoff -a
1 |
#复制配置文件,供kubectl使用 |
- 使master节点成为node
1
$ kubectl taint nodes --all node-role.kubernetes.io/master-
- 安装CNI插件
1
$ kubectl apply -f https://git.io/weave-kube-1.6
- 验证集群安装完成
1
2
3
4
5
6
7
8
9
10
11
12
13$ kubectl get node
NAME STATUS AGE VERSION
kub-master Ready 1h v1.7.5
$ kubectl get pod --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system etcd-kub-master 1/1 Running 1 1h
kube-system kube-apiserver-kub-master 1/1 Running 1 1h
kube-system kube-controller-manager-kub-master 1/1 Running 1 1h
kube-system kube-dns-2838158301-vlhf5 3/3 Running 0 51m
kube-system kube-proxy-0d3t6 1/1 Running 0 1h
kube-system kube-scheduler-kub-master 1/1 Running 1 1h
kube-system weave-net-ptv9f 2/2 Running 0 1h




近期评论