Skip to content

Instantly share code, notes, and snippets.

@bowin
Last active June 11, 2018 02:11
Show Gist options
  • Save bowin/1dd37ef7f381524c47144c344876bb15 to your computer and use it in GitHub Desktop.
Save bowin/1dd37ef7f381524c47144c344876bb15 to your computer and use it in GitHub Desktop.

kubeadm, kubelet kubectl 安装

  • kubeadm: the command to bootstrap the cluster.
  • kubelet: the component that runs on all of the machines in your cluster and does things like starting pods and containers.
  • kubectl: the command line util to talk to your cluster.

离线安装

apt-get -d, --download-only 只下载

apt-get install -d kubeadm kubelet kubectl

打包 /var/cache/archives

apt-get install -d kubeadm kubelet kubectl
dpkg -R --install ./

docker images

set -x
dockerimages=(k8s.gcr.io/kube-apiserver-amd64:v1.9.1
k8s.gcr.io/kube-controller-manager-amd64:v1.9.1
k8s.gcr.io/kube-scheduler-amd64:v1.9.1
k8s.gcr.io/kube-proxy-amd64:v1.9.1
k8s.gcr.io/etcd-amd64:3.1.10
k8s.gcr.io/pause-amd64:3.0
k8s.gcr.io/k8s-dns-sidecar-amd64:1.14.7
k8s.gcr.io/k8s-dns-kube-dns-amd64:1.14.7
k8s.gcr.io/k8s-dns-dnsmasq-nanny-amd64:1.14.7)

j=1
for i in ${dockerimages[@]}
do
    echo $i
    echo $j

    docker pull $i && docker save $i | xz $j.tar.xz
    docker rmi $i
    let j+=1
done
set +x

master节点配置

kubelet cgroup driver 必须要和docker一致

sed -i "s/cgroup-driver=systemd/cgroup-driver=cgroupfs/g" /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

pull images

docker tag k8s.gcr.io/kube-scheduler-amd64:v1.10.1 oa.epeijing.cn:5000/kube-scheduler-amd64:v1.10.1
docker push oa.epeijing.cn:5000/kube-scheduler-amd64:v1.10.1

docker tag k8s.gcr.io/kube-proxy-amd64:v1.10.1 oa.epeijing.cn:5000/kube-proxy-amd64:v1.10.1
docker push oa.epeijing.cn:5000/kube-proxy-amd64:v1.10.1

docker tag k8s.gcr.io/kube-apiserver-amd64:v1.10.1 oa.epeijing.cn:5000/kube-apiserver-amd64:v1.10.1
docker push oa.epeijing.cn:5000/kube-apiserver-amd64:v1.10.1

docker tag k8s.gcr.io/kube-controller-manager-amd64:v1.10.1 oa.epeijing.cn:5000/kube-controller-manager-amd64:v1.10.1
docker push oa.epeijing.cn:5000/kube-controller-manager-amd64:v1.10.1

docker tag k8s.gcr.io/etcd-amd64:3.1.12  oa.epeijing.cn:5000/etcd-amd64:3.1.12
docker push oa.epeijing.cn:5000/etcd-amd64:3.1.12

docker tag k8s.gcr.io/pause-amd64:3.1 oa.epeijing.cn:5000/pause-amd64:3.1
docker push oa.epeijing.cn:5000/pause-amd64:3.1

docker tag k8s.gcr.io/k8s-dns-dnsmasq-nanny-amd64:1.14.8 oa.epeijing.cn:5000/k8s-dns-dnsmasq-nanny-amd64:1.14.8 
docker push oa.epeijing.cn:5000/k8s-dns-dnsmasq-nanny-amd64:1.14.8

docker tag k8s.gcr.io/k8s-dns-sidecar-amd64:1.14.8 oa.epeijing.cn:5000/k8s-dns-sidecar-amd64:1.14.8
docker push oa.epeijing.cn:5000/k8s-dns-sidecar-amd64:1.14.8

docker tag k8s.gcr.io/k8s-dns-kube-dns-amd64:1.14.8 oa.epeijing.cn:5000/k8s-dns-kube-dns-amd64:1.14.8
docker push oa.epeijing.cn:5000/k8s-dns-kube-dns-amd64:1.14.8

拉取镜像

docker pull oa.epeijing.cn:5000/kube-scheduler-amd64:v1.10.1
docker tag oa.epeijing.cn:5000/kube-scheduler-amd64:v1.10.1 k8s.gcr.io/kube-scheduler-amd64:v1.10.1

docker pull oa.epeijing.cn:5000/kube-proxy-amd64:v1.10.1
docker tag oa.epeijing.cn:5000/kube-proxy-amd64:v1.10.1 k8s.gcr.io/kube-proxy-amd64:v1.10.1

docker pull oa.epeijing.cn:5000/kube-apiserver-amd64:v1.10.1 
docker tag oa.epeijing.cn:5000/kube-apiserver-amd64:v1.10.1 k8s.gcr.io/kube-apiserver-amd64:v1.10.1

docker pull oa.epeijing.cn:5000/kube-controller-manager-amd64:v1.10.1
docker tag oa.epeijing.cn:5000/kube-controller-manager-amd64:v1.10.1 k8s.gcr.io/kube-controller-manager-amd64:v1.10.1 

docker pull oa.epeijing.cn:5000/etcd-amd64:3.1.12
docker tag oa.epeijing.cn:5000/etcd-amd64:3.1.12 k8s.gcr.io/etcd-amd64:3.1.12  

docker pull oa.epeijing.cn:5000/pause-amd64:3.1
docker tag oa.epeijing.cn:5000/pause-amd64:3.1 k8s.gcr.io/pause-amd64:3.1 

docker pull oa.epeijing.cn:5000/k8s-dns-dnsmasq-nanny-amd64:1.14.8
docker tag oa.epeijing.cn:5000/k8s-dns-dnsmasq-nanny-amd64:1.14.8  k8s.gcr.io/k8s-dns-dnsmasq-nanny-amd64:1.14.8 

docker pull oa.epeijing.cn:5000/k8s-dns-sidecar-amd64:1.14.8
docker tag oa.epeijing.cn:5000/k8s-dns-sidecar-amd64:1.14.8 k8s.gcr.io/k8s-dns-sidecar-amd64:1.14.8 

docker pull oa.epeijing.cn:5000/k8s-dns-kube-dns-amd64:1.14.8
docker tag oa.epeijing.cn:5000/k8s-dns-kube-dns-amd64:1.14.8 k8s.gcr.io/k8s-dns-kube-dns-amd64:1.14.8 

kubeadm init

flannel要求cgroup是cgroupfs 网络

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.9.1/Documentation/kube-flannel.yml

kubeadm init --pod-network-cidr=10.244.0.0/16 --kubernetes-version=v1.10.1

### 查看dns状态
```bash
kubectl get pods --all-namespaces

Node节点配置

必须要有kube-proxy, kube-pause flannel

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment