kubeadm安装kubernetes1.18.5
2021-03-03 20:28
标签:res https data- uil Helm user etc x86_64 search 尝试安装helm3,kubernetes1.18,istio1.6是否支持现有集群平滑迁移 Centos7.6 升级内核4.x kubernetes:v1.18.5 helm:v3.2.4 istio:v1.6.4 部分信息 主要变化:release不在是全局的,要指定release名称,没有tiller v3版本不再需要Tiller,而是通过ApiServer与k8s交互,可以设置环境变量 kubeadm安装kubernetes1.18.5 标签:res https data- uil Helm user etc x86_64 search 原文地址:https://www.cnblogs.com/xuliang666/p/13274141.html前言
版本
安装
添加kubernetes源
cat /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kubelet kubeadm kubectl
查看历史版本有那些
查看历史版本有那些
#yum list --showduplicates kubeadm|grep 1.18
本地下载rpm包
#yum install kubectl-1.18.5-0.x86_64 kubeadm-1.18.5-0.x86_64 kubelet-1.18.5-0.x86_64 --downloadonly --downloaddir=./rpmKubeadm
查看kubernetes1.18需要的镜像列表
#kubeadm config images list --kubernetes-version=v1.18.5
W0709 15:55:40.303088 7778 configset.go:202] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io]
k8s.gcr.io/kube-apiserver:v1.18.5
k8s.gcr.io/kube-controller-manager:v1.18.5
k8s.gcr.io/kube-scheduler:v1.18.5
k8s.gcr.io/kube-proxy:v1.18.5
k8s.gcr.io/pause:3.2
k8s.gcr.io/etcd:3.4.3-0
k8s.gcr.io/coredns:1.6.7
下载镜像并导出
#使用脚本
#/bin/bash
url=k8s.gcr.io
version=v1.18.5
images=(`kubeadm config images list --kubernetes-version=$version|awk -F ‘/‘ ‘{print $2}‘`)
for imagename in ${images[@]} ; do
#echo $imagename
echo "docker pull $url/$imagename"
docker pull $url/$imagename
done
images=(`kubeadm config images list --kubernetes-version=$version`)
echo "docker save ${images[@]} -o kubeDockerImage$version.tar"
docker save ${images[@]} -o kubeDockerImage$version.tar
最终文件目录如下
[root@dev-k8s-master-1-105 v1-18]# tree ./
./
├── images.sh
├── kubeDockerImagev1.18.5.tar
└── rpmKubeadm
├── cri-tools-1.13.0-0.x86_64.rpm
├── kubeadm-1.18.5-0.x86_64.rpm
├── kubectl-1.18.5-0.x86_64.rpm
├── kubelet-1.18.5-0.x86_64.rpm
└── kubernetes-cni-0.8.6-0.x86_64.rpm
1 directory, 7 files
[root@dev-k8s-master-1-105 v1-18]#
安装rpm并导入镜像
yum install -y ./rpmKubeadm/*.rpm
docker load -i kubeDockerImagev1.18.5.tar
初始化集群
kubeadm init --kubernetes-version=1.18.5 --apiserver-advertise-address=192.168.1.105 --pod-network-cidr=10.81.0.0/16
Your Kubernetes control-plane has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/
Then you can join any number of worker nodes by running the following on each as root:
kubeadm join 192.168.1.105:6443 --token xnlao7.5qsgih5vft0n2li6 --discovery-token-ca-cert-hash sha256:1d341b955245da64a5e28791866e0580a5e223a20ffaefdc6b2729d9fb1739b4
安装网络
wget https://docs.projectcalico.org/v3.14/manifests/calico.yaml
kuberctl apply -f calico.yaml
安装完成
[root@dev-k8s-master-1-105 v1-18]# kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
calico-kube-controllers-76d4774d89-kp8nz 1/1 Running 0 46h
calico-node-k5m4b 1/1 Running 0 46h
calico-node-l6hq7 1/1 Running 0 46h
coredns-66bff467f8-hgbvw 1/1 Running 0 47h
coredns-66bff467f8-npmxl 1/1 Running 0 47h
etcd-dev-k8s-master-1-105 1/1 Running 0 47h
kube-apiserver-dev-k8s-master-1-105 1/1 Running 0 47h
kube-controller-manager-dev-k8s-master-1-105 1/1 Running 0 47h
kube-proxy-6dx95 1/1 Running 0 46h
kube-proxy-926mq 1/1 Running 0 47h
kube-scheduler-dev-k8s-master-1-105 1/1 Running 0 47h
[root@dev-k8s-master-1-105 v1-18]#
安装helm3
安装
wget https://get.helm.sh/helm-v3.2.4-linux-amd64.tar.gz
cp helm /usr/local/bin/
初始化可以使用helm init
添加公共仓库
helm repo add stable https://kubernetes-charts.storage.googleapis.com
查看
helm repo list
搜索
helm search repo nginx
查看版本信息
[root@dev-k8s-master-1-105 ~]# which helm
/usr/local/bin/helm
[root@dev-k8s-master-1-105 ~]# helm version
version.BuildInfo{Version:"v3.2.4", GitCommit:"0ad800ef43d3b826f31a5ad8dfbb4fe05d143688", GitTreeState:"clean", GoVersion:"go1.13.12"}
[root@dev-k8s-master-1-105 ~]#
查看配置信息
[root@dev-k8s-master-1-105 ~]# helm env
HELM_BIN="helm"
HELM_DEBUG="false"
HELM_KUBEAPISERVER=""
HELM_KUBECONTEXT=""
HELM_KUBETOKEN=""
HELM_NAMESPACE="default"
HELM_PLUGINS="/root/.local/share/helm/plugins"
HELM_REGISTRY_CONFIG="/root/.config/helm/registry.json"
HELM_REPOSITORY_CACHE="/root/.cache/helm/repository"
HELM_REPOSITORY_CONFIG="/root/.config/helm/repositories.yaml"
[root@dev-k8s-master-1-105 ~]#
指定k8s集群
KUBECONFIG
来指定存有ApiServre的地址与token的配置文件地址,默认为~/.kube/config
export KUBECONFIG=/root/.kube/config #可以写到/etc/profile里
文章标题:kubeadm安装kubernetes1.18.5
文章链接:http://soscw.com/index.php/essay/59672.html