master: 10.12.35.4
node: 10.12.35.3
目录:/data/k8s
maser节点安装:
- 在 https://github.com/kubernetes/kubernetes/releases 下载最新的稳定版(当前使用 v1.10.9)
- 解压后运行 kubernetes/cluster/get-kube-binaries.sh,下载所需要的可执行文件,分别在 kubernetes/client/bin/* 和 kubernetes/server/kubernetes-server-linux-amd64.tar.gz
- 解压kubernetes/server/kubernetes-server-linux-amd64.tar.gz
- 安装 docker-engine
apt-get install docker-engine - 配置 docker 启动参数,修改 /etc/default/docker,
DOCKER_OPTS="--insecure-registry=docker.xxx.com:5000 --iptables=false --bridge=br0 --ip-masq=false" - 安装etcd,
wget https://github.com/etcd-io/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz - 启动 etcd
nohup ./etcd --listen-peer-urls http://127.0.0.1:2380 --listen-client-urls http://127.0.0.1:2379 --advertise-client-urls http://127.0.0.1:2379 > /dev/null 2>&1 & - 启动 kube-apiserver
nohup ./kube-apiserver --etcd-servers http://127.0.0.1:2379 --insecure-bind-address 0.0.0.0 --insecure-port 8080 --admission-control 'NamespaceLifecycle,NamespaceExists,LimitRanger,ResourceQuota' > /var/log/kube-apiserver.log 2>&1 & - 启动 scheduler
nohup ./kube-scheduler --master http://127.0.0.1:8080 > /var/log/kube-scheduler.log 2>&1 & - 启动 controller-manager
nohup ./kube-controller-manager --master http://127.0.0.1:8080 > /var/log/kube-controller-manager.log 2>&1 & - 查看中控状态
./kubectl cluster-info
./kubectl get cs
至此,整个 K8s 的 Master 服务已经部署完了
node节点安装
- 安装 docker-engine,apt-get install docker-engine
- 配置 docker 启动参数,修改 /etc/default/docker,DOCKER_OPTS="--insecure-registry=docker.xxx.com:5000 --iptables=false --bridge=br0 --ip-masq=false"
- 在 https://github.com/kubernetes/kubernetes/releases 下载最新的稳定版(当前使用 v1.10.9)
- 解压后运行 kubernetes/cluster/get-kube-binaries.sh,下载所需要的可执行文件,分别在 kubernetes/client/bin/* 和 kubernetes/server/kubernetes-server-linux-amd64.tar.gz
-
cd /kubernetes/server/kubernetes/server/bin 添加文件kubeconfig, 添加如下内容
current-context: test-context
apiVersion: v1
clusters:
- cluster:
api-version: v1
server: http:
//10.12.35.4:8080
name: test-cluster
contexts:
- context:
cluster: test-cluster
namespace:
default
name: test-context
kind: Config
preferences:
colors:
true
6.启动kubelet服务
nohup ./kubelet --fail-swap-on=false --kubeconfig ./kubeconfig > /var/log/kubelet.log 2>&1 &
7.启动 Kube-proxy 服务
nohup ./kube-proxy --master http://10.12.35.4:8080 > /var/log/kube-proxy.log 2>&1 &
8.执行创建deployment后,k8s组件会去拉取"k8s.gcr.io/pause-amd64:3.1"这个镜像,由于墙的原因会失败,提示:rpc error: code = Unknown desc = failed pulling image "k8s.gcr.io/pause-amd64:3.1",
导致pod创建失败,始终停留在Creating Container 状态。所以这里从国内仓库下载并打上tag, 防止运行pod报错。
|
8.在master节点上执行 kubectl get nodes
命令查看节点状态, 至此,从节点已经部署完了。