其他组件安装

文章主目录地址


其他组件的安装

部分安装方式有多种 任选其一即可.

开启命令提示

在命令行输入命令时按下tab会有提示,可以补全kubectl命令自动输入pod名称等功能

yum install bash-completion -y
echo "source <(kubectl completion bash)" >> ~/.bashrc
source .bashrc

集群网络安装

Kubernetes集群中容器通信所依赖的基础组件.flannel和calico任选其一即可.
两者的区别在于,calico在大规模的集群(如数百节点的集群中)中又更好的性能表现

安装flannel类型

kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml

安装calico类型

使用Kubernetes API安装,适合于50节点以下集群
相对比更加推荐使用flannel网络,他使用范围更广更加稳定,但是如果是大规模的集群calico网络会更优

curl https://projectcalico.docs.tigera.io/manifests/calico.yaml -O
kubectl apply -f calico.yaml
helm安装calico
helm repo add projectcalico https://projectcalico.docs.tigera.io/charts
helm install calico projectcalico/tigera-operator --version v3.22.1
watch kubectl get pods -n calico-system

安装参考:安装calico网络

安装helm

helm是一个类似于centos的yum或者Ubuntu的apt-get命令的一个Kubernetes的包管理器.通过它可以快速简单的安装其他应用

wget https://get.helm.sh/helm-v3.6.1-linux-amd64.tar.gz
tar xf helm-v3.6.1-linux-amd64.tar.gz
mv linux-amd64/helm  /usr/bin/

MetalLB

MetalLB是Kubernetes service中的一种资源,他需要预先创建好一个IP池,然后你只需要将service类型设置为LoadBalancer,就可以通过IP地址访问了.

方式1: 导入yaml文件

kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.12.1/manifests/namespace.yaml
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.12.1/manifests/metallb.yaml

方式2: helm

helm repo add metallb https://metallb.github.io/metallb
kubectl create namespace metallb-system
helm install metallb metallb/metallb --namespace metallb-system
# helm install metallb metallb/metallb -f values.yaml

导入配置

kubectl apply -f -<<EOF
apiVersion: v1
kind: ConfigMap
metadata:
  namespace: metallb-system
  name: config
data:
  config: |
    address-pools:
    - name: default
      protocol: layer2
      addresses:
      # 注意修改IP地址段
      - 20.88.9.100-20.88.9.200
EOF

Ingress

kubectl apply方式

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.1/deploy/static/provider/cloud/deploy.yaml

helm安装方式

helm upgrade --install ingress-nginx ingress-nginx \
  --repo https://kubernetes.github.io/ingress-nginx \
  --namespace ingress-nginx --create-namespace

第三方镜像库(helm)安装

上面两种官方提供的安装方式存在镜像拉取问题,第三方可使用bitnami的镜像安装.

helm repo add bitnami https://charts.bitnami.com/bitnami
kubectl create namespace ingress
helm install my-release bitnami/nginx-ingress-controller --namespace ingress
# Read more about the installation in the NGINX Ingress Controller packaged by Bitnami Chart Github repository

安装完成后,会输出对应的提示,然后执行命令

kubectl get --namespace ingress-nginx svc -w ingress-nginx-ingress-controller

执行后会输出一个Service.我的Service绑定了一个LoadBalancer地址,所以将所有域名解析到这个IP.

获取ingress监听得IP地址:

    export SERVICE_IP=$(kubectl get svc --namespace ingress-nginx ingress-nginx-ingress-controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
    echo "Visit http://${SERVICE_IP} to access your application via HTTP."
    echo "Visit https://${SERVICE_IP} to access your application via HTTPS."

检查

kubectl get pods --namespace=ingress-nginx
ingress install

容器可能有镜像拉取失败问题.可以将Deployment镜像k8s.gcr.io/ingress-nginx/controller:v1.1.1替换为bitnami/nginx-ingress-controller,docker.io/jettech/kube-webhook-certgen:v1.5.0,版本删除"v"尝试.或前往bitnami仓库](https://hub.docker.com/r/bitnami/nginx-ingress-controller/tags)自行寻找.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值