您好,登錄后才能下訂單哦!
這篇文章主要介紹了Ubuntu 18.04 LTS如何安裝Kubernetes 1.11,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
完整安裝說明,參考:
https://linuxconfig.org/how-to-install-kubernetes-on-ubuntu-18-04-bionic-beaver-linux
安裝的其它細節問題解決:
https://my.oschina.net/u/2306127/blog/1628082
需要容器GPU支持,參考:
http://Kubernetes安裝GPU支持插件
服務網格Istio安裝,參考:
Istio 1.0快速安裝到Kubernetes集群
安裝工具相關腳本資源:
https://github.com/openthings/kubernetes-tools
#準備軟件源 sudo apt install docker.io sudo systemctl enable docker
Install Docker -CE
add key:
https_proxy=192.168.199.249:30999 wget https://download.docker.com/linux/ubuntu/gpg -O docker.key sudo apt-key add docker.key
add source
sudo echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic edge" > /etc/apt/sources.list.d/docker.list sudo apt update sudo apt install docker-ce
確保kubelet使用的cgroup driver 與 Docker的一致。要么使用下面的方法更新 Docker:
cat << EOF > /etc/docker/daemon.json { "exec-opts": ["native.cgroupdriver=systemd"] } EOF
然后重啟Docker服務,運行:
sudo systemctl daemon-reload sudo systemctl restart docker
按照以下步驟操作:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main" #安裝基礎支持軟件 sudo apt install kubeadm kubectl kubelet #關閉磁盤交換 sudo swapoff -a #清除防火墻設置 sudo iptables -F #設置域名 sudo hostnamectl set-hostname kubernetes-master #初始化環境,注意這個版本號一定要指定(否則會掛起)。 #指定使用CoreDNS作為名稱服務,可以不指定--feature-gates CoreDNS=true,則使用默認的kubedns服務。 sudo kubeadm init --kubernetes-version=v1.11.2 --pod-network-cidr=10.244.0.0/16 --feature-gates CoreDNS=true #指定IP地址,1.12.2版本: # sudo kubeadm init --kubernetes-version=v1.12.2 --apiserver-advertise-address=10.1.1.201 --pod-network-cidr=10.244.0.0/16 --feature-gates CoreDNS=true #創建用戶配置文件 mkdir -p $HOME/.kube kubernetes-master:~$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config kubernetes-master:~$ sudo chown $(id -u):$(id -g) $HOME/.kube/config #安裝網絡 kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml #啟用主控機同時作為工作節點 kubectl taint nodes --all node-role.kubernetes.io/master- #查看結果 kubectl get pods --all-namespaces
!!!不過,有兩個問題:
目前kubernetes還沒有Ubuntu18.04的編好的版本,用的16.04 xenial的二進制文件。
上面的cloud.google的key會出錯,使用下面的方法來獲取:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 6A030B21BA07F4FB
然后執行sudo apt update及其后面的安裝步驟。
#查看日志: kubectl get pods --namespace kube-system kubectl --namespace kube-system logs kube-flannel-ds-bvxd2 #上面的kube-flannel-ds-bvxd2為flannel的pod名稱,根據get pods返回的名稱輸入。 #編輯 /etc/kubernetes/manifests/kube-controller-manager.yaml 在command節,加入: - --allocate-node-cidrs=true - --cluster-cidr=10.244.0.0/16 然后system restart kubelet即可。
該問題解決辦法的詳細參考:https://github.com/coreos/flannel/issues/728
參考:
Kubernetes Dashboard面板服務安裝,https://my.oschina.net/u/2306127/blog/1606599
dashboard安裝授權登錄詳細參考,https://my.oschina.net/u/2306127/blog/1630861
Helm軟件包管理服務安裝,https://my.oschina.net/u/2306127/blog/1619818
注意,使用 sudo https_proxy=127.0.0.1:9999 helm init --service-account tiller 來添加repo(需要訪問gcr,但proxy導致無法訪問本地集群端口),然后再次運行 helm init --service-account tiller(添加helm tiller pod到集群)。
目前kubernetes最新版本是1.11.2,可以從我做的鏡像庫上拉取:
echo "" echo "==========================================================" echo "Pull Kubernetes 1.11.1 Images from aliyuncs.com ......" echo "==========================================================" echo "" MY_REGISTRY=registry.cn-hangzhou.aliyuncs.com/openthings ## 拉取鏡像 docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-apiserver-amd64:v1.11.2 docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-controller-manager-amd64:v1.11.2 docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-scheduler-amd64:v1.11.2 docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-proxy-amd64:v1.11.2 docker pull ${MY_REGISTRY}/k8s-gcr-io-etcd-amd64:3.2.18 docker pull ${MY_REGISTRY}/k8s-gcr-io-pause-amd64:3.1 docker pull ${MY_REGISTRY}/k8s-gcr-io-coredns:1.1.3 ## 添加Tag docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-apiserver-amd64:v1.11.2 k8s.gcr.io/kube-apiserver-amd64:v1.11.2 docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-scheduler-amd64:v1.11.2 k8s.gcr.io/kube-scheduler-amd64:v1.11.2 docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-controller-manager-amd64:v1.11.2 k8s.gcr.io/kube-controller-manager-amd64:v1.11.2 docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-proxy-amd64:v1.11.2 k8s.gcr.io/kube-proxy-amd64:v1.11.2 docker tag ${MY_REGISTRY}/k8s-gcr-io-etcd-amd64:3.2.18 k8s.gcr.io/etcd-amd64:3.2.18 docker tag ${MY_REGISTRY}/k8s-gcr-io-pause-amd64:3.1 k8s.gcr.io/pause-amd64:3.1 docker tag ${MY_REGISTRY}/k8s-gcr-io-coredns:1.1.3 k8s.gcr.io/coredns:1.1.3 echo "" echo "==========================================================" echo "Pull Kubernetes 1.11.2 Images FINISHED." echo "into registry.cn-hangzhou.aliyuncs.com/openthings, " echo " by openthings@https://my.oschina.net/u/2306127." echo "==========================================================" echo ""
把上面的內容保存為腳本文件,運行即可。
然后再去運行kubeadm init進行集群的初始化工作。
Istio 1.0快速安裝到Kubernetes集群
重啟系統后,發現kubelet服務沒有起來,首先檢查:
nano /etc/fstab #注釋掉里面的swap一行。
最后,/etc/systemd/system/kubelet.service.d/10-kubeadm.conf 文件加入KUBELET_CGROUP_ARGS和KUBELET_EXTRA_ARGS參數,注意在啟動參數中也要加入,如下:
[Service] Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd" Environment="KUBELET_EXTRA_ARGS=--fail-swap-on=false" 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_CERTIFICATE_ARGS $KUBELET_CGROUP_ARGS $KUBELET_EXTRA_ARGS
systemctl daemon-reload systemctl restart kubelet
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Ubuntu 18.04 LTS如何安裝Kubernetes 1.11”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。