Centos7安裝kubernetes1.7.5

系統環境centos7

準備

  • 關閉防火墻
systemctl stop firewalld && systemctl disable firewalld
  • 禁用交換內存
swapoff -a
  • 禁用SELinux
setenforce 0

安裝docker

wget https://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-1.12.6-1.el7.centos.x86_64.rpm

yum localinstall -y docker-engine-1.12.6-1.el7.centos.x86_64.rpm

systemctl enable docker && systemctl start docker

安裝kubernetes

設置kubernetes的yum阿里鏡像

cat >> /etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
EOF

拉取k8s相關鏡像

docker pull alleyj/k8s-dns-dnsmasq-nanny-amd64:1.14.4
docker pull alleyj/k8s-dns-kube-dns-amd64:1.14.4
docker pull alleyj/k8s-dns-sidecar-amd64:1.14.4
docker pull alleyj/controller-manager-amd64:v1.7.5
docker pull alleyj/kube-apiserver-amd64:v1.7.5
docker pull alleyj/kube-scheduler-amd64:v1.7.5
docker pull alleyj/kube-proxy-amd64:v1.7.5
docker pull alleyj/kube-discovery-amd64:1.0
docker pull alleyj/dnsmasq-metrics-amd64:1.0
docker pull alleyj/etcd-amd64:3.0.17
docker pull alleyj/exechealthz-amd64:1.2
docker pull alleyj/k8s-dns-dnsmasq-nanny-amd64:1.14.1
docker pull alleyj/k8s-dns-kube-dns-amd64:1.14.1
docker pull alleyj/k8s-dns-sidecar-amd64:1.14.1
docker pull alleyj/kube-apiserver-amd64:v1.6.0
docker pull 4admin2root/kube-controller-manager-amd64:v1.6.0
docker pull alleyj/kube-proxy-amd64:v1.6.0
docker pull alleyj/kube-scheduler-amd64:v1.6.0
docker pull alleyj/pause-amd64:3.0

設置成原來的標簽

docker tag alleyj/k8s-dns-dnsmasq-nanny-amd64:1.14.4 grc.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.4
docker tag alleyj/k8s-dns-kube-dns-amd64:1.14.4 grc.io/google_containers/k8s-dns-kube-dns-amd64:1.14.4
docker tag alleyj/k8s-dns-sidecar-amd64:1.14.4 grc.io/google_containers/k8s-dns-sidecar-amd64:1.14.4
docker tag alleyj/controller-manager-amd64:v1.7.5 grc.io/google_containers/controller-manager-amd64:v1.7.5
docker tag alleyj/kube-apiserver-amd64:v1.7.5 grc.io/google_containers/kube-apiserver-amd64:v1.7.5
docker tag alleyj/kube-scheduler-amd64:v1.7.5 grc.io/google_containers/kube-scheduler-amd64:v1.7.5
docker tag alleyj/kube-proxy-amd64:v1.7.5 grc.io/google_containers/kube-proxy-amd64:v1.7.5
docker tag alleyj/kube-discovery-amd64:1.0 grc.io/google_containers/kube-discovery-amd64:1.0
docker tag alleyj/dnsmasq-metrics-amd64:1.0 grc.io/google_containers/dnsmasq-metrics-amd64:1.0
docker tag alleyj/etcd-amd64:3.0.17 grc.io/google_containers/etcd-amd64:3.0.17
docker tag alleyj/exechealthz-amd64:1.2 grc.io/google_containers/exechealthz-amd64:1.2
docker tag alleyj/k8s-dns-dnsmasq-nanny-amd64:1.14.1 grc.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.1
docker tag alleyj/k8s-dns-kube-dns-amd64:1.14.1 grc.io/google_containers/k8s-dns-kube-dns-amd64:1.14.1
docker tag alleyj/k8s-dns-sidecar-amd64:1.14.1 grc.io/google_containers/k8s-dns-sidecar-amd64:1.14.1
docker tag alleyj/kube-apiserver-amd64:v1.6.0 grc.io/google_containers/kube-apiserver-amd64:v1.6.0
docker tag 4admin2root/kube-controller-manager-amd64:v1.6.0 grc.io/google_containers/kube-controller-manager-amd64:v1.6.0
docker tag alleyj/kube-proxy-amd64:v1.6.0 grc.io/google_containers/kube-proxy-amd64:v1.6.0
docker tag alleyj/kube-scheduler-amd64:v1.6.0 grc.io/google_containers/kube-scheduler-amd64:v1.6.0
docker tag alleyj/pause-amd64:3.0 grc.io/google_containers/pause-amd64:3.0

安裝kubeadm

yum -y install kubectl kubeadm kubelet kubernetes-cni

systemctl enable kubelet && systemctl start kubelet

查看kubelet日志

journalctl -xue | kubelet

如果發現"cgroupfs" is different from docker cgroup driver: "systemd"的錯誤則修改/etc/systemd/system/kubelet.service.d/10-kubeadm.conf文件將將“--cgroup-driver=systems”修改成為“--cgroup-driver=cgroupfs”,重新啟動kubelet

cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

[Service]
Environment="KUBELET_KUBECONFIG_ARGS=--kubeconfig=/etc/kubernetes/kubelet.conf --require-kubeconfig=true"
Environment="KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true"
Environment="KUBELET_NETWORK_ARGS=--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin"
Environment="KUBELET_DNS_ARGS=--cluster-dns=10.96.0.10 --cluster-domain=cluster.local"
Environment="KUBELET_AUTHZ_ARGS=--authorization-mode=Webhook --client-ca-file=/etc/kubernetes/pki/ca.crt"
Environment="KUBELET_CADVISOR_ARGS=--cadvisor-port=0"
Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs"
ExecStart=
ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_SYSTEM_PODS_ARGS $KUBELET_NETWORK_ARGS $KUBELET_DNS_ARGS $KUBELET_AUTHZ_ARGS $KUBELET_CADVISOR_ARGS $KUBELET_CGROUP_ARGS $KUBELET_EXTRA_ARGS

systemctl daemon-reload
systemctl restart kubelet

Master節點安裝

kubeadm init --kubernetes-version=v1.7.5 --pod-network-cidr=192.168.0.0/16

安裝calico網絡組件

kubectl apply -f http://docs.projectcalico.org/v2.4/getting-started/kubernetes/installation/hosted/kubeadm/1.6/calico.yaml
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容