微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我只是无法通过 OKD 4.6、4.7 甚至运行在 libvirt KVM 上的 OCP 上的“kube-apiserverDoesNotExist”

如何解决我只是无法通过 OKD 4.6、4.7 甚至运行在 libvirt KVM 上的 OCP 上的“kube-apiserverDoesNotExist”

我知道这可能与网络有关或可能与资源有关,甚至可能是因为我正在尝试在 KVM 上创建集群,但是经过 3 周的循环之后,我需要一些帮助才能投入毛巾。

高级:我在 IBM 云中的 8cpu 32Gb 服务器上安装了 Redhat CentOS Linux 版本 8.3.201。从那以后,我创建了一个引导服务器(8GB 内存,25GB 磁盘)和 3 个主节点(6GB 内存,25GB 磁盘)它非常紧凑,但是引导引导和主节点加入。

我从网上下载了最新的 openshift-installer 以及最新的 fedora 34 裸机.iso。


./oc version
Client Version: 4.7.0-0.okd-2021-05-22-050008
Server Version: 4.7.0-0.okd-2021-05-22-050008
Kubernetes Version: v1.20.0-1073+df9c8387b2dc23-dirty

每次尝试使用新引导程序时,我都会清理旧版本 以下脚本:

INSTALL_DIR=${PWD}
echo "install_dir is " $INSTALL_DIR


rm -rf $INSTALL_DIR/.openshift*
rm -rf $INSTALL_DIR/openshift
rm -rf $INSTALL_DIR/manifests
rm -rf $INSTALL_DIR/auth

cp $INSTALL_DIR/install-config.yaml.withrealsecret install-config.yaml

$INSTALL_DIR/openshift-install create manifests --dir=$INSTALL_DIR

$INSTALL_DIR/openshift-install create ignition-configs --dir=$INSTALL_DIR
cp Metadata.json /var/www/html/okd4/
mv *.ign /var/www/html/okd4/
chown -R apache:apache /var/www/html/okd4/*.ign
chmod 777 /var/www/html/okd4/*.ign
chcon  --user system_u --type httpd_sys_content_t -Rv /var/www

经过大量难以理解的拉取和文本流后,大师们都加入并出现了

    ./oc get nodes
okd4-master1   Ready    master,worker   11h   v1.20.0+df9c838-1073  
okd4-master2   Ready    master,worker   11h   v1.20.0+df9c838-1073  
okd4-master3   Ready    master,worker   11h   v1.20.0+df9c838-1073  

但是引导带永远不会启动和运行 Apiserver。我已经在 OCP 和 OKD 版本 4.1、4.6 和 4.7 上尝试过这个。

    Pod Status:openshift-kube-controller-manager/kube-controller-manager   DoesNotExist     
    Pod Status:openshift-cluster-version/cluster-version-operator          RunningNotReady 
    Pod Status:openshift-kube-scheduler/openshift-kube-scheduler        RunningNotReady
    Pod Status:openshift-kube-controller-manager/kube-controller-manager        DoesNotExist
    Pod Status:openshift-cluster-version/cluster-version-operator        Ready
    Pod Status:openshift-cluster-version/cluster-version-operator        Ready
    Pod Status:openshift-kube-apiserver/kube-apiserver        DoesNotExist
    Pod Status:openshift-kube-scheduler/openshift-kube-scheduler        Ready
    Pod Status:openshift-kube-controller-manager/kube-controller-manager        DoesNotExist        
dig -x 192.168.130.210   
;; ANSWER SECTION:  
210.130.168.192.in-addr.arpa. 604800 IN PTR     okd4-services.okd.local.  
210.130.168.192.in-addr.arpa. 604800 IN PTR     api-int.lab.okd.local.  
210.130.168.192.in-addr.arpa. 604800 IN PTR     api.lab.okd.local.  

dig okd.local  
;; AUTHORITY SECTION:  
okd.local.              604800  IN      SOA     okd4-services.okd.local. admin.okd.local. 1 604800 86400 2419200 604800  

我怀疑它与网络相关,但我认为我已经遵循了 DNS,并且所有部分都可以解析以及 HAPROXY 配置,否则主人不会加入。

在我发送大量信息并用输出淹没页面之前,有什么明显的我应该检查的吗?

haproxy.cfg

frontend okd4_k8s_api_fe
    bind :6443
    default_backend okd4_k8s_api_be
    mode tcp
    option tcplog

backend okd4_k8s_api_be
    balance source
    #balance roundrobin
    mode tcp
    server      okd4-bootstrap 192.168.130.200:6443 check
    server      okd4-master1 192.168.130.201:6443 check
    server      okd4-master2 192.168.130.202:6443 check
    server      okd4-master3 192.168.130.203:6443 check

frontend okd4_machine_config_server_fe
    bind :22623
    default_backend okd4_machine_config_server_be
    mode tcp
    option tcplog

backend okd4_machine_config_server_be
    balance source
    #balance roundrobin
    mode tcp
    server      okd4-bootstrap 192.168.130.200:22623 check
    server      okd4-master1 192.168.130.201:22623 check
    server      okd4-master2 192.168.130.202:22623 check
    server      okd4-master3 192.168.130.203:22623 check

frontend okd4_http_ingress_traffic_fe
    bind :80
    default_backend okd4_http_ingress_traffic_be
    mode tcp
    option tcplog

backend okd4_http_ingress_traffic_be
    balance source
    #balance roundrobin
    mode tcp
    server      okd4-worker1 192.168.130.204:80 check
    server      okd4-worker2 192.168.130.205:80 check

frontend okd4_https_ingress_traffic_fe
    bind *:443
    default_backend okd4_https_ingress_traffic_be
    mode tcp
    option tcplog

backend okd4_https_ingress_traffic_be
    balance source
    #balance source
    mode tcp
    server      okd4-worker1 192.168.130.204:443 check
    server      okd4-worker2 192.168.130.205:443 check
```
```
install-config.yaml

apiVersion: v1
baseDomain: okd.local
Metadata:
  name: lab

compute:
- hyperthreading: Enabled
  name: worker
  replicas: 0

controlPlane:
  hyperthreading: Enabled
  name: master
  replicas: 3

networking:
  clusterNetwork:
  - cidr: 10.128.0.0/14
    hostPrefix: 23
  networkType: OpenShiftSDN
  serviceNetwork:
  - 172.30.0.0/16

platform:
  none: {}

fips: false

pullSecret: '{"auths":{"cloud.openshift.com":{"auth":}}' (removed lots of text)
```

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?